The EncodeDecode
module handles translation of strings sent over the wire to and from your message types.
Your WebSocket subscription message handler will need to use decodeMessage
, you will often use genericMessageDecoder
, and, if you track statistics, you'll likely need the statistics encoder & decoder, but you'll rarely directly use the rest of the functions in this module.
decodeMessage : WebSocketFramework.Types.MessageDecoder message -> String -> Result String message
Use a MessageDecoder
that you write to turn a string into a message.
genericMessageDecoder : WebSocketFramework.Types.DecoderPlist msg -> WebSocketFramework.Types.DecoderPlist msg -> ( WebSocketFramework.Types.ReqRsp, WebSocketFramework.Types.Plist ) -> Result String msg
Simplify the writing of MessageDecoder
definitions.
Takes two plists mapping request names to decoders and response names to decoders.
Returns a MessageDecoder
that uses them.
encodeMessage : WebSocketFramework.Types.MessageEncoder message -> message -> String
Use a MessageEncoder
that you write to turn a message into a string.
messageDecoder : WebSocketFramework.Types.MessageDecoder message -> Json.Decode.Decoder message
Create a Decoder
for decodeMessage
.
messageEncoder : WebSocketFramework.Types.MessageEncoder message -> message -> Json.Encode.Value
Use a MessageEncoder
that you write to turn a message into a Value
.
Rarely used by anything but encodeMessage
.
encodeStatistics : WebSocketFramework.Types.Statistics -> Json.Encode.Value
Encode a Statistics
record.
statisticsDecoder : Json.Decode.Decoder WebSocketFramework.Types.Statistics
Decoder for the Statistics
record.
decodeRawMessage : String -> Result String WebSocketFramework.Types.RawMessage
Turn a string into a raw message.
rawMessageDecoder : Json.Decode.Decoder WebSocketFramework.Types.RawMessage
The Decoder
used by decodeRawMessage
rawMessageEncoder : WebSocketFramework.Types.RawMessage -> Json.Encode.Value
Turn a raw message into a Value
.
decodePlist : Json.Decode.Decoder message -> WebSocketFramework.Types.Plist -> Result String message
Decode a list of key/value pairs into a message.