| Safe Haskell | None |
|---|
Network.OAuth.OAuth2.HttpClient
Description
A simple http client to request OAuth2 tokens and several utils.
- fetchAccessToken :: OAuth2 -> ByteString -> IO (OAuth2Result AccessToken)
- fetchRefreshToken :: OAuth2 -> ByteString -> IO (OAuth2Result AccessToken)
- doJSONPostRequest :: FromJSON a => URI -> PostBody -> IO (OAuth2Result a)
- doSimplePostRequest :: URI -> PostBody -> IO (OAuth2Result ByteString)
- authGetJSON :: FromJSON a => AccessToken -> URI -> IO (OAuth2Result a)
- authGetBS :: AccessToken -> URI -> IO (OAuth2Result ByteString)
- authPostJSON :: FromJSON a => AccessToken -> URI -> PostBody -> IO (OAuth2Result a)
- authPostBS :: AccessToken -> URI -> PostBody -> IO (OAuth2Result ByteString)
- authenticatedRequest :: AccessToken -> StdMethod -> Request (ResourceT IO) -> IO (Response ByteString)
- setMethod :: StdMethod -> Request m -> Request m
- handleResponse :: Response ByteString -> OAuth2Result ByteString
- parseResponseJSON :: FromJSON a => OAuth2Result ByteString -> OAuth2Result a
- updateRequestHeaders :: Maybe AccessToken -> Request m -> Request m
Retrieve access token
Arguments
| :: OAuth2 | OAuth Data |
| -> ByteString | Authentication code gained after authorization |
| -> IO (OAuth2Result AccessToken) | Access Token |
Request (via POST method) Access Token.
Arguments
| :: OAuth2 | OAuth context |
| -> ByteString | refresh token gained after authorization |
| -> IO (OAuth2Result AccessToken) |
Request the Refresh Token.
Arguments
| :: FromJSON a | |
| => URI | The URL |
| -> PostBody | request body |
| -> IO (OAuth2Result a) | Response as ByteString |
Conduct post request and return response as JSON.
Arguments
| :: URI | URL |
| -> PostBody | Request body. |
| -> IO (OAuth2Result ByteString) | Response as ByteString |
Conduct post request.
AUTH requests
Arguments
| :: FromJSON a | |
| => AccessToken | |
| -> URI | Full URL |
| -> IO (OAuth2Result a) | Response as JSON |
Conduct GET request and return response as JSON.
Arguments
| :: AccessToken | |
| -> URI | URL |
| -> IO (OAuth2Result ByteString) | Response as ByteString |
Conduct GET request.
Arguments
| :: FromJSON a | |
| => AccessToken | |
| -> URI | Full URL |
| -> PostBody | |
| -> IO (OAuth2Result a) | Response as JSON |
Conduct POST request and return response as JSON.
Arguments
| :: AccessToken | |
| -> URI | URL |
| -> PostBody | |
| -> IO (OAuth2Result ByteString) | Response as ByteString |
Conduct POST request.
Arguments
| :: AccessToken | Authentication token to use |
| -> StdMethod | Method to use |
| -> Request (ResourceT IO) | Request to perform |
| -> IO (Response ByteString) |
Sends a HTTP request including the Authorization header with the specified access token.
Utilities
handleResponse :: Response ByteString -> OAuth2Result ByteStringSource
Parses a Response to to OAuth2Result
parseResponseJSON :: FromJSON a => OAuth2Result ByteString -> OAuth2Result aSource
Parses a OAuth2Result BSL.ByteString into FromJSON a => a
updateRequestHeaders :: Maybe AccessToken -> Request m -> Request mSource
set several header values. + userAgennt : hoauth2 + accept : application/json + authorization : Bearer xxxxx if AccessToken provided.