| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Network.OAuth.OAuth2.HttpClient
Description
A simple http client to request OAuth2 tokens and several utils.
- fetchAccessToken :: Manager -> OAuth2 -> ExchangeToken -> IO (OAuth2Result Errors OAuth2Token)
- fetchRefreshToken :: Manager -> OAuth2 -> RefreshToken -> IO (OAuth2Result Errors OAuth2Token)
- doJSONPostRequest :: FromJSON err => FromJSON a => Manager -> OAuth2 -> URI -> PostBody -> IO (OAuth2Result err a)
- doFlexiblePostRequest :: FromJSON err => FromJSON a => Manager -> OAuth2 -> URI -> PostBody -> IO (OAuth2Result err a)
- doSimplePostRequest :: FromJSON err => Manager -> OAuth2 -> URI -> PostBody -> IO (OAuth2Result err ByteString)
- authGetJSON :: FromJSON err => FromJSON a => Manager -> AccessToken -> URI -> IO (OAuth2Result err a)
- authGetBS :: FromJSON err => Manager -> AccessToken -> URI -> IO (OAuth2Result err ByteString)
- authGetBS' :: FromJSON err => Manager -> AccessToken -> URI -> IO (OAuth2Result err ByteString)
- authPostJSON :: FromJSON err => FromJSON a => Manager -> AccessToken -> URI -> PostBody -> IO (OAuth2Result err a)
- authPostBS :: FromJSON err => Manager -> AccessToken -> URI -> PostBody -> IO (OAuth2Result err ByteString)
- authPostBS' :: FromJSON err => Manager -> AccessToken -> URI -> PostBody -> IO (OAuth2Result err ByteString)
- authRequest :: FromJSON err => Request -> (Request -> Request) -> Manager -> IO (OAuth2Result err ByteString)
- handleResponse :: FromJSON err => Response ByteString -> OAuth2Result err ByteString
- parseResponseJSON :: FromJSON err => FromJSON a => OAuth2Result err ByteString -> OAuth2Result err a
- parseResponseFlexible :: FromJSON err => FromJSON a => OAuth2Result err ByteString -> OAuth2Result err a
- updateRequestHeaders :: Maybe AccessToken -> Request -> Request
- setMethod :: StdMethod -> Request -> Request
Token management
Arguments
| :: Manager | HTTP connection manager |
| -> OAuth2 | OAuth Data |
| -> ExchangeToken | OAuth 2 Tokens |
| -> IO (OAuth2Result Errors OAuth2Token) | Access Token |
Request (via POST method) "OAuth2 Token".
Arguments
| :: Manager | HTTP connection manager. |
| -> OAuth2 | OAuth context |
| -> RefreshToken | refresh token gained after authorization |
| -> IO (OAuth2Result Errors OAuth2Token) |
Request a new AccessToken with the Refresh Token. TODO: seems more approporate to rename to refreshAccessToken
Arguments
| :: FromJSON err | |
| => FromJSON a | |
| => Manager | HTTP connection manager. |
| -> OAuth2 | OAuth options |
| -> URI | The URL |
| -> PostBody | request body |
| -> IO (OAuth2Result err a) | Response as JSON |
Conduct post request and return response as JSON.
doFlexiblePostRequest Source #
Arguments
| :: FromJSON err | |
| => FromJSON a | |
| => Manager | HTTP connection manager. |
| -> OAuth2 | OAuth options |
| -> URI | The URL |
| -> PostBody | request body |
| -> IO (OAuth2Result err a) | Response as ByteString |
Conduct post request and return response as JSON or Query String.
Arguments
| :: FromJSON err | |
| => Manager | HTTP connection manager. |
| -> OAuth2 | OAuth options |
| -> URI | URL |
| -> PostBody | Request body. |
| -> IO (OAuth2Result err ByteString) | Response as ByteString |
Conduct post request.
AUTH requests
Arguments
| :: FromJSON err | |
| => FromJSON a | |
| => Manager | HTTP connection manager. |
| -> AccessToken | |
| -> URI | |
| -> IO (OAuth2Result err a) | Response as JSON |
Conduct an authorized GET request and return response as JSON.
Arguments
| :: FromJSON err | |
| => Manager | HTTP connection manager. |
| -> AccessToken | |
| -> URI | |
| -> IO (OAuth2Result err ByteString) | Response as ByteString |
Conduct an authorized GET request.
Arguments
| :: FromJSON err | |
| => Manager | HTTP connection manager. |
| -> AccessToken | |
| -> URI | |
| -> IO (OAuth2Result err ByteString) | Response as ByteString |
same to authGetBS but set access token to query parameter rather than header
Arguments
| :: FromJSON err | |
| => FromJSON a | |
| => Manager | HTTP connection manager. |
| -> AccessToken | |
| -> URI | |
| -> PostBody | |
| -> IO (OAuth2Result err a) | Response as JSON |
Conduct POST request and return response as JSON.
Arguments
| :: FromJSON err | |
| => Manager | HTTP connection manager. |
| -> AccessToken | |
| -> URI | |
| -> PostBody | |
| -> IO (OAuth2Result err ByteString) | Response as ByteString |
Conduct POST request.
Arguments
| :: FromJSON err | |
| => Manager | HTTP connection manager. |
| -> AccessToken | |
| -> URI | |
| -> PostBody | |
| -> IO (OAuth2Result err ByteString) | Response as ByteString |
Conduct POST request with access token in the request body rather header
Arguments
| :: FromJSON err | |
| => Request | Request to perform |
| -> (Request -> Request) | Modify request before sending |
| -> Manager | HTTP connection manager. |
| -> IO (OAuth2Result err ByteString) |
Send an HTTP request including the Authorization header with the specified access token.
Utilities
handleResponse :: FromJSON err => Response ByteString -> OAuth2Result err ByteString Source #
Parses a Response to to OAuth2Result
parseResponseJSON :: FromJSON err => FromJSON a => OAuth2Result err ByteString -> OAuth2Result err a Source #
Parses a OAuth2Result BSL.ByteString into FromJSON a => a
parseResponseFlexible :: FromJSON err => FromJSON a => OAuth2Result err ByteString -> OAuth2Result err a Source #
Try parseResponseJSON and parseResponseString
updateRequestHeaders :: Maybe AccessToken -> Request -> Request Source #
Set several header values:
+ userAgennt : hoauth2
+ accept : `application/json`
+ authorization : Bearer xxxxx if AccessToken provided.