Network.HTTP.Types.QueryLike

http-types-0.9: Generic HTTP types for Haskell (for both client and server code).

Safe Haskell | None
Language | Haskell98

Network.HTTP.Types.QueryLike

Synopsis

- class QueryLike a where
  - toQuery :: a -> Query
- class QueryKeyLike a where
  - toQueryKey :: a -> ByteString
- class QueryValueLike a where
  - toQueryValue :: a -> Maybe ByteString

# Documentation

class QueryLike a where

Types which can, and commonly are, converted to `Query` are in this class.

You can use lists of simple key value pairs, with `ByteString` (strict, or lazy: `ByteString`), `Text`, or `String` as the key/value types. You can also have the value type lifted into a Maybe to support keys without values; and finally it is possible to put each pair into a Maybe for key-value pairs that aren't always present.

Methods

toQuery :: a -> Query

Convert to `Query`.

Instances

(QueryKeyLike k, QueryValueLike v) => QueryLike [(k, v)] |
(QueryKeyLike k, QueryValueLike v) => QueryLike [Maybe (k, v)] |

class QueryKeyLike a where

Types which, in a Query-like key-value list, are used in the Key position.

Methods

toQueryKey :: a -> ByteString

Instances

QueryKeyLike ByteString |
QueryKeyLike ByteString |
QueryKeyLike Text |
QueryKeyLike [Char] |

class QueryValueLike a where

Types which, in a Query-like key-value list, are used in the Value position.

Methods

toQueryValue :: a -> Maybe ByteString

Instances

QueryValueLike ByteString |
QueryValueLike ByteString |
QueryValueLike Text |
QueryValueLike [Char] |
QueryValueLike a => QueryValueLike (Maybe a) |