Safe Haskell | None |
---|---|
Language | Haskell2010 |
Serv.Internal.Header.Serialization
- class ReflectName n => HeaderEncode n a where
- headerEncodeRaw :: HeaderEncode n a => Proxy n -> a -> Maybe ByteString
- class ReflectName n => HeaderDecode n a where
- headerDecode' :: HeaderDecode n a => Proxy n -> Text -> Either String a
- required :: (Text -> Either String a) -> Maybe Text -> Either String a
- headerDecodeRaw :: HeaderDecode n a => Proxy n -> Maybe ByteString -> Either String a
- headerPair :: HeaderEncode h v => Proxy h -> v -> Maybe Header
Documentation
class ReflectName n => HeaderEncode n a where Source #
Represents mechanisms to interpret data types as header-compatible values.
An instance of Encode n t
captures a mechanism for treating values of type
t
as valid data to substantiate the header n
.
Note: While this class allows the encoding of any value into a full Unicode Text value, Headers do not generally accept most Unicode code points. Be conservative in implementing this class.
Minimal complete definition
Instances
headerEncodeRaw :: HeaderEncode n a => Proxy n -> a -> Maybe ByteString Source #
Handles encoding a header all the way to raw bytes.
class ReflectName n => HeaderDecode n a where Source #
Represents mechanisms to interpret data types as header-compatible values.
An instance of Decode n t
captures a mechanism for reading values of type
t
from header data stored at header n
.
Minimal complete definition
Instances
ReflectName n => HeaderDecode n RawText Source # |
|
HeaderDecode h t => HeaderDecode h (Maybe t) Source # | |
HeaderDecode Accept [Quality MediaType] Source # | |
headerDecode' :: HeaderDecode n a => Proxy n -> Text -> Either String a Source #
headerDecodeRaw :: HeaderDecode n a => Proxy n -> Maybe ByteString -> Either String a Source #
Handles decoding a header all the way from raw bytes.
headerPair :: HeaderEncode h v => Proxy h -> v -> Maybe Header Source #