http-media: Processing HTTP Content-Type and Accept headers
This library is intended to be a comprehensive solution to parsing media
types, including quality parameters, in HTTP headers. It addresses parsing of
the Content-Type and Accept headers, and includes general data types for
matching against the other accept headers as well. It encodes MIME parameters
into a MediaType
data, and allows the matching of the final value by
comparing quality values from the client.
In the following example, the Accept header is parsed, and then matched against a list of server options to serve the appropriate media:
getHeader >>= maybe send406Error sendResourceWith . mapAcceptMedia [ ("text/html", asHtml) , ("application/json", asJson) ]
Similarly, the Content-Type header can be used to produce a parser for request bodies based on the given content type:
getContentType >>= maybe send415Error readRequestBodyWith . mapContentMedia [ ("application/json", parseJson) , ("text/plain", parseText) ]
The API is agnostic to your choice of server.
Downloads
- http-media-0.2.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.1.0, 0.1.1, 0.2.0, 0.3.0, 0.4.0, 0.5.0, 0.5.1, 0.6.0, 0.6.1, 0.6.2, 0.6.3, 0.6.4, 0.7.0, 0.7.1, 0.7.1.1, 0.7.1.2, 0.7.1.3, 0.8.0.0, 0.8.1.0, 0.8.1.1 |
---|---|
Dependencies | base (>=4.6.0 && <5.0), bytestring (>=0.10.0 && <0.11), containers (>=0.5.0 && <0.6), utf8-string (>=0.3.7 && <0.4) [details] |
License | MIT |
Copyright | (c) 2012-2014 Timothy Jones |
Author | Timothy Jones |
Maintainer | Timothy Jones <git@zmthy.io> |
Category | Web |
Home page | http://github.com/zmthy/http-media |
Bug tracker | http://github.com/zmthy/http-media/issues |
Source repo | head: git clone git://github.com/zmthy/http-media.git |
Uploaded | by TimothyJones at 2014-07-31T14:23:16Z |
Distributions | Arch:0.8.1.1, Debian:0.8.0.0, Fedora:0.8.1.1, LTSHaskell:0.8.1.1, NixOS:0.8.1.1, Stackage:0.8.1.1, openSUSE:0.8.1.1 |
Reverse Dependencies | 163 direct, 688 indirect [details] |
Downloads | 52000 total (36 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Successful builds reported [all 1 reports] |