hoauth2-0.3.7: hoauth2

Safe HaskellNone

Network.OAuth.OAuth2.HttpClient

Contents

Description

A simple http client to request OAuth2 tokens and several utils.

Synopsis

Retrieve access token

fetchAccessTokenSource

Arguments

:: OAuth2

OAuth Data

-> ByteString

Authentication code gained after authorization

-> IO (OAuth2Result AccessToken)

Access Token

Request (via POST method) Access Token.

fetchRefreshTokenSource

Arguments

:: OAuth2

OAuth context

-> ByteString

refresh token gained after authorization

-> IO (OAuth2Result AccessToken) 

Request the Refresh Token.

doJSONPostRequestSource

Arguments

:: FromJSON a 
=> OAuth2 
-> URI

The URL

-> PostBody

request body

-> IO (OAuth2Result a)

Response as ByteString

Conduct post request and return response as JSON.

doSimplePostRequestSource

Arguments

:: OAuth2 
-> URI

URL

-> PostBody

Request body.

-> IO (OAuth2Result ByteString)

Response as ByteString

Conduct post request.

AUTH requests

authGetJSONSource

Arguments

:: FromJSON a 
=> AccessToken 
-> URI

Full URL

-> IO (OAuth2Result a)

Response as JSON

Conduct GET request and return response as JSON.

authGetBSSource

Arguments

:: AccessToken 
-> URI

URL

-> IO (OAuth2Result ByteString)

Response as ByteString

Conduct GET request.

authPostJSONSource

Arguments

:: FromJSON a 
=> AccessToken 
-> URI

Full URL

-> PostBody 
-> IO (OAuth2Result a)

Response as JSON

Conduct POST request and return response as JSON.

authPostBSSource

Arguments

:: AccessToken 
-> URI

URL

-> PostBody 
-> IO (OAuth2Result ByteString)

Response as ByteString

Conduct POST request.

authenticatedRequestSource

Arguments

:: AccessToken

Authentication token to use

-> StdMethod

Method to use

-> Request

Request to perform

-> IO (Response ByteString) 

Sends a HTTP request including the Authorization header with the specified access token.

setMethod :: StdMethod -> Request -> RequestSource

Sets the HTTP method to use

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 -> RequestSource

set several header values. + userAgennt : hoauth2 + accept : application/json + authorization : Bearer xxxxx if AccessToken provided.