* If the URI contains "user:pass@" part, use it for Basic Authorization
* Add a test harness.
* Don't leak a socket when getHostAddr throws an exception.
* Send cookies in request format, not response format.
* Moved BrowserAction to be a StateT IO, with instances for
Applicative, MonadIO, MonadState.
* Add method to control size of connection pool.
* Consider both host and port when reusing connections.
* Handle response code 304 "not modified" properly.
* Fix digest authentication by fixing md5 output string rep.
* Make the default user agent string follow the package version.
* Document lack of HTTPS support and fail when clients try
to use it instead of silently falling back to HTTP.
* Add helper to set the request type and body.
packaged for wip by pho.
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).