The http-media package

[Tags: library, mit]

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.


Properties

Versions0.1.0, 0.1.1, 0.2.0
Dependenciesbase (>=4.6.0 && <5.0), bytestring (>=0.10.0 && <0.11), containers (>=0.5.0 && <0.6), utf8-string (>=0.3.7 && <0.4)
LicenseMIT
Copyright(c) 2012-2014 Timothy Jones
AuthorTimothy Jones
MaintainerTimothy Jones <git@zmthy.io>
CategoryWeb
Home pagehttp://github.com/zmthy/http-media
Bug trackerhttp://github.com/zmthy/http-media/issues
Source repositoryhead: git clone git://github.com/zmthy/http-media.git
Upload dateThu Jul 31 14:23:16 UTC 2014
Uploaded byTimothyJones
Downloads253 total (71 in last 30 days)

Modules

[Index]

Downloads

Maintainers' corner

For package maintainers and hackage trustees