wreq is a library that makes HTTP client programming in Haskell
Simple but powerful
Session handling includes connection keep-alive and pooling, and cookie persistence
Powerful multipart form and file upload handling
Support for JSON requests and responses, including navigation of schema-less responses
Basic and OAuth2 bearer authentication
Amazon Web Services (AWS) request signing (Version 4)
AWS signing supports sending requests through the Runscope Inc. Traffic Inspector
See the tutorials for a quick-start.
Is it done?
TODO.md for a rather long list of ideas.
-- markdown --
Fixed some building issues with older versions
Removed dependency on cryptohash, using cryptonite instead
Added some HistoriedResponse support
Deprecated withSession, added newSession (to be inline with upstream http-client)
Added same instances for Putable as for Postable (might be merged?)
Added getSessionCookieJar to get cookies from a Session
Fixed customPayloadMethod to follow the method (it was sometimes POST)
Add awsSessionTokenAuth (in addition to the existing awsAuth) to support AWS Session Token Service (AWS STS) credentials. These look like regular AWS credentials but have an additional session token as a 3rd element. This mechanism is needed to be able to (a) use EC2 instance profiles, (b) make calls form AWS Lambda, (c) is useful for delegated role access (assumeRole within and across accounts), and (d) enables MFA-protected access scenarios. See tests/AWS/IAM.hs for a test and simple example.
Add Session-specific version of Network.Wreq.customPayloadMethodWith
8.2 GHC compatibility
This compatibility change required a small API change:
checkStatusis now named
checkResponsefor compatibility with the
Compatible with GHC 7.10.
New withAPISession and withSessionControl functions make talking to REST services more efficient.
Added support for AWS S3 virtual-host style URLs.
Added signing support for region specific calls to the AWS Security Token Service (AWS STS).
The introduction of AWS support accidentally introduced unwanted AWS headers and computation into all requests. This has been fixed.
Bump lower bound on http-client to 0.3.0.1
Support for Amazon Web Services request signing
New customMethod, customMethodWith functions allow use of arbitrary HTTP verbs
httpProxy, basicAuth, oauth2Bearer, oauth2Token: removed Maybe from result types, changed documentation to suggest use of (?~)
Support for lens 4.4
- Initial release.