mirror of
https://anongit.gentoo.org/git/repo/gentoo.git
synced 2025-07-22 23:19:14 +02:00
Signed-off-by: Michael Mair-Keimberger <mmk@levelnine.at> Signed-off-by: Conrad Kostecki <conikost@gentoo.org>
38 lines
1.5 KiB
XML
38 lines
1.5 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
|
<pkgmetadata>
|
|
<maintainer type="project">
|
|
<email>haskell@gentoo.org</email>
|
|
<name>Gentoo Haskell</name>
|
|
</maintainer>
|
|
<longdescription>
|
|
This library is intended to be a comprehensive solution to parsing and
|
|
selecting quality-indexed values in HTTP headers. It is capable of parsing
|
|
both media types and language parameters from the Accept and Content header
|
|
families, and can be extended to match against other accept headers as well.
|
|
Selecting the appropriate header value is achieved by comparing a list of
|
|
server options against the quality-indexed values supplied by 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 using
|
|
'mapAcceptMedia':
|
|
|
|
> 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 with 'mapContentMedia':
|
|
|
|
> getContentType >>= maybe send415Error readRequestBodyWith . mapContentMedia
|
|
> [ ("application/json", parseJson)
|
|
> , ("text/plain", parseText)
|
|
> ]
|
|
|
|
The API is agnostic to your choice of server.
|
|
</longdescription>
|
|
<upstream>
|
|
<remote-id type="github">zmthy/http-media</remote-id>
|
|
</upstream>
|
|
</pkgmetadata>
|