Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- class MediaTypeFor t where
- mediaTypeFor :: Proxy t -> MediaType
- mediaTypesFor :: Proxy t -> NonEmpty MediaType
- type MediaType = MediaType
- mediaType :: forall t. MediaTypeFor t => MediaType
- type MediaTypes = NonEmpty MediaType
- mediaTypes :: forall ts c. MimeTypes ts c => MediaTypes
- charsetUTF8 :: MediaType -> MediaType
- mimeAny :: MediaType
- data JSON
- data HTML
- data FormUrlEncoded
- data OctetStream
- data PlainText
- data MimeType c where
- MimeType :: (c t, MediaTypeFor t) => Proxy t -> MimeType c
- mimeType :: forall t c. MediaTypeFor t => c t => MimeType c
- type MimeTypeTs c = NonEmpty (MimeType c)
- mimeTypes :: forall ts c. MimeTypes ts c => NonEmpty (MimeType c)
- class MimeTypes (ts :: [*]) (c :: * -> Constraint) where
- mimeTypesMap :: NonEmpty (MediaType, MimeType c)
- matchAccept :: forall ts c. MimeTypes ts c => ByteString -> Maybe (MimeType c)
- matchContent :: forall ts c. MimeTypes ts c => ByteString -> Maybe (MimeType c)
- class MediaTypeFor t => MimeEncodable a t where
- mimeEncode :: Proxy t -> MimeEncoder a
- type MimeEncoder a = a -> ByteString
- class MediaTypeFor mt => MimeDecodable a mt where
- mimeDecode :: Proxy mt -> MimeDecoder a
- type MimeDecoder a = ByteString -> Either String a
Class MediaTypeFor
class MediaTypeFor t where Source #
mediaTypeFor :: Proxy t -> MediaType Source #
Instances
MediaTypeFor () Source # | |
Defined in Symantic.HTTP.MIME | |
MediaTypeFor PlainText Source # | |
Defined in Symantic.HTTP.MIME | |
MediaTypeFor OctetStream Source # | |
Defined in Symantic.HTTP.MIME | |
MediaTypeFor FormUrlEncoded Source # | |
Defined in Symantic.HTTP.MIME | |
MediaTypeFor HTML Source # | |
Defined in Symantic.HTTP.MIME | |
MediaTypeFor JSON Source # | |
Defined in Symantic.HTTP.MIME |
Type MediaType
mediaType :: forall t. MediaTypeFor t => MediaType Source #
Type MediaTypes
type MediaTypes = NonEmpty MediaType Source #
mediaTypes :: forall ts c. MimeTypes ts c => MediaTypes Source #
charsetUTF8 :: MediaType -> MediaType Source #
Type JSON
Instances
MediaTypeFor JSON Source # | |
Defined in Symantic.HTTP.MIME |
Type HTML
Instances
MediaTypeFor HTML Source # | |
Defined in Symantic.HTTP.MIME |
Type FormUrlEncoded
data FormUrlEncoded Source #
Instances
MediaTypeFor FormUrlEncoded Source # | |
Defined in Symantic.HTTP.MIME | |
FromForm a => MimeDecodable a FormUrlEncoded Source # |
|
Defined in Symantic.HTTP.MIME mimeDecode :: Proxy FormUrlEncoded -> MimeDecoder a Source # | |
ToForm a => MimeEncodable a FormUrlEncoded Source # |
|
Defined in Symantic.HTTP.MIME mimeEncode :: Proxy FormUrlEncoded -> MimeEncoder a Source # |
Type OctetStream
data OctetStream Source #
Instances
MediaTypeFor OctetStream Source # | |
Defined in Symantic.HTTP.MIME | |
MimeDecodable ByteString OctetStream Source # | |
Defined in Symantic.HTTP.MIME | |
MimeDecodable ByteString OctetStream Source # | |
Defined in Symantic.HTTP.MIME | |
MimeEncodable ByteString OctetStream Source # | |
Defined in Symantic.HTTP.MIME | |
MimeEncodable ByteString OctetStream Source # | |
Defined in Symantic.HTTP.MIME |
Type PlainText
Instances
Type MimeType
data MimeType c where Source #
Existentially wraps a type-level type t
with a proof it respects Constraint
c
.
Usyally c
is
or MimeEncodable
a
.MimeDecodable
a
MimeType :: (c t, MediaTypeFor t) => Proxy t -> MimeType c |
mimeType :: forall t c. MediaTypeFor t => c t => MimeType c Source #
Type MimeTypeTs
type MimeTypeTs c = NonEmpty (MimeType c) Source #
Class MimeTypes
class MimeTypes (ts :: [*]) (c :: * -> Constraint) where Source #
Instances
(MediaTypeFor t, MimeTypes (t1 ': ts) c, c t) => MimeTypes (t ': (t1 ': ts)) c Source # | More than one |
Defined in Symantic.HTTP.MIME | |
(MediaTypeFor t, c t) => MimeTypes (t ': ([] :: [Type])) c Source # | Single |
Defined in Symantic.HTTP.MIME |
matchAccept :: forall ts c. MimeTypes ts c => ByteString -> Maybe (MimeType c) Source #
matchContent :: forall ts c. MimeTypes ts c => ByteString -> Maybe (MimeType c) Source #
Type MimeEncodable
class MediaTypeFor t => MimeEncodable a t where Source #
mimeEncode :: Proxy t -> MimeEncoder a Source #
Instances
Type MimeEncoder
type MimeEncoder a = a -> ByteString Source #
Type MimeDecodable
class MediaTypeFor mt => MimeDecodable a mt where Source #
mimeDecode :: Proxy mt -> MimeDecoder a Source #
Instances
Type MimeDecoder
type MimeDecoder a = ByteString -> Either String a Source #