| <?xml version="1.0" encoding="UTF-8"?> |
| <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> |
| <pkgmetadata> |
| <maintainer type="project"> |
| <email>haskell@gentoo.org</email> |
| <name>Gentoo Haskell</name> |
| </maintainer> |
| <longdescription> |
| The HTTP package supports client-side web programming in Haskell. It lets you set up |
| HTTP connections, transmitting requests and processing the responses coming back, all |
| from within the comforts of Haskell. It's dependent on the network package to operate, |
| but other than that, the implementation is all written in Haskell. |
| |
| A basic API for issuing single HTTP requests + receiving responses is provided. On top |
| of that, a session-level abstraction is also on offer (the @BrowserAction@ monad); |
| it taking care of handling the management of persistent connections, proxies, |
| state (cookies) and authentication credentials required to handle multi-step |
| interactions with a web server. |
| |
| The representation of the bytes flowing across is extensible via the use of a type class, |
| letting you pick the representation of requests and responses that best fits your use. |
| Some pre-packaged, common instances are provided for you (@ByteString@, @String@.) |
| |
| Here's an example use: |
| |
| > |
| > do |
| > rsp <- Network.HTTP.simpleHTTP (getRequest "http://www.haskell.org/") |
| > -- fetch document and return it (as a 'String'.) |
| > fmap (take 100) (getResponseBody rsp) |
| > |
| > do |
| > rsp <- Network.Browser.browse $ do |
| > setAllowRedirects True -- handle HTTP redirects |
| > request $ getRequest "https://google.com/" |
| > fmap (take 100) (getResponseBody rsp) |
| > |
| |
| Git repository available at <git://github.com/haskell/HTTP.git> |
| </longdescription> |
| <use> |
| <flag name="conduit10">Use version 1.0.x or below of the conduit package (for the test suite).</flag> |
| <flag name="network-uri">Get Network.URI from the network-uri package.</flag> |
| </use> |
| <upstream> |
| <remote-id type="github">haskell/HTTP</remote-id> |
| </upstream> |
| </pkgmetadata> |