http-api-data: Converting to/from HTTP API data like URL pieces, headers and query parameters.

[ bsd3, library, web ] [ Propose Tags ]

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

Please see README.md


[Skip to Readme]
Versions 0.1.0, 0.1.1, 0.1.1.1, 0.2, 0.2.1, 0.2.2, 0.2.3, 0.2.4, 0.3, 0.3.1, 0.3.2, 0.3.3, 0.3.4, 0.3.5, 0.3.6, 0.3.7, 0.3.7.1, 0.3.7.2, 0.3.8, 0.3.8.1
Change log CHANGELOG.md
Dependencies attoparsec (>=0.13.0.1 && <0.14), attoparsec-iso8601 (>=1.0.0.0 && <1.1), base (>=4.7 && <4.12), bytestring (>=0.10.4.0 && <0.11), containers (>=0.5.5.1 && <0.6), hashable (>=1.1.2.4 && <1.3), http-types (>=0.8.6 && <0.13), semigroups (>=0.16 && <0.19), text (>=1.1.1.3 && <1.3), time (>=1.4.2 && <1.9), time-locale-compat (>=0.1.1.0 && <0.2), unordered-containers (>=0.2.6.0 && <0.3), uri-bytestring (>=0.1.7 && <0.4), uuid-types (>=1.0.2 && <1.1) [details]
License BSD-3-Clause
Author Nickolay Kudasov <nickolay.kudasov@gmail.com>
Maintainer Nickolay Kudasov <nickolay.kudasov@gmail.com>
Category Web
Home page http://github.com/fizruk/http-api-data
Source repo head: git clone https://github.com/fizruk/http-api-data
Uploaded by phadej at Wed Mar 14 23:11:17 UTC 2018
Distributions Arch:0.3.8.1, Debian:0.2.1, Fedora:0.3.7.1, LTSHaskell:0.3.7.2, NixOS:0.3.8.1, Stackage:0.3.8.1, openSUSE:0.3.7.2
Downloads 19433 total (281 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-03-14 [all 1 reports]
Hackage Matrix CI

Modules

[Index]

Flags

NameDescriptionDefaultType
use-text-show

Use text-show library for efficient ToHttpApiData implementations.

DisabledManual

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for http-api-data-0.3.8.1

[back to package description]

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!