|
|
|
|
|
by bos
4085 days ago
|
|
In fact, it turns out the Pusher protocol is all JSON, so you can autogenerate the code. Here's a Pusher message. {
"event": "pusher:error",
"data": {
"message": String,
"code": Integer
}
}
Here's the corresponding Haskell. {-# LANGUAGE DeriveGeneric #-}
import GHC.Generics
-- a generic wrapper type for all Pusher events
data Event a = Event {
eventType :: Text,
eventData :: a
} deriving (Generic)
instance ToJSON a => ToJSON (Event a)
instance FromJSON a => FromJSON (Event a)
data Error = Error {
message :: Text,
code :: Integer
} deriving (Generic)
instance ToJSON Error
instance FromJSON Error
|
|