This package defines typeclasses used for converting Haskell data types to and from HTTP API data. Please see README.md


Keywords
library, web, Propose Tags, Skip to Readme, , Index, Quick Jump, Web.FormUrlEncoded, Web.HttpApiData, Web.Internal.FormUrlEncoded, Web.Internal.HttpApiData, More info, http-api-data-0.6.tar.gz, browse, Package description, revised, metadata revisions, Package maintainers, MichaelSnoyman, NickolayKudasov, phadej, edit package information
License
BSD-3-Clause
Install
cabal install http-api-data-0.6

Documentation

http-api-data

Build Status Hackage package Stackage LTS Stackage Nightly

This package defines typeclasses used for converting Haskell data types to and from HTTP API data.

Examples

Booleans:

>>> toUrlPiece True
"true"
>>> parseUrlPiece "false" :: Either Text Bool
Right False
>>> parseUrlPieces ["true", "false", "undefined"] :: Either Text [Bool]
Left "could not parse: `undefined'"

Numbers:

>>> toQueryParam 45.2
"45.2"
>>> parseQueryParam "452" :: Either Text Int
Right 452
>>> toQueryParams [1..5]
["1","2","3","4","5"]
>>> parseQueryParams ["127", "255"] :: Either Text [Int8]
Left "out of bounds: `255' (should be between -128 and 127)"

Strings:

>>> toHeader "hello"
"hello"
>>> parseHeader "world" :: Either Text String
Right "world"

Calendar day:

>>> toQueryParam (fromGregorian 2015 10 03)
"2015-10-03"
>>> toGregorian <$> parseQueryParam "2016-12-01"
Right (2016,12,1)

Contributing

Contributions and bug reports are welcome!