dormouse-client (hackage): An HTTP client designed to be productive, easy to use, easy to test, flexible and safe!  It was designed with the following objectives in mind:  HTTP requests and responses should be modelled by a simple, immutable Haskell Record.  Actual HTTP calls should be made via an abstraction layer (MonadDormouseClient) so testing and mocking is painless.  Illegal requests should be unrepresentable, such as HTTP GET requests with a content body.  It should be possible to enforce a protocol (e.g. https) at the type level.  It should be possible to handle large request and response bodies via constant memory streaming.  Please see https://dormouse.io for full documentation.
Keywords: bsd3|library|web