Safe Haskell | None |
---|
A simple http client for request OAuth2 tokens and several utils.
- requestAccessToken :: OAuth2 -> ByteString -> IO (Maybe AccessToken)
- refreshAccessToken :: OAuth2 -> ByteString -> IO (Maybe AccessToken)
- doSimplePostRequest :: (URI, PostBody) -> IO ByteString
- doJSONPostRequest :: FromJSON a => (URI, PostBody) -> IO (Maybe a)
- doSimpleGetRequest :: URI -> IO ByteString
- doJSONGetRequest :: FromJSON a => URI -> IO (Maybe a)
- doGetRequest :: String -> [(ByteString, ByteString)] -> IO (Response ByteString)
- doGetRequestWithReq :: String -> [(ByteString, ByteString)] -> (Request (ResourceT IO) -> Request (ResourceT IO)) -> IO (Response ByteString)
- doPostRequst :: String -> [(ByteString, ByteString)] -> IO (Response ByteString)
- doPostRequstWithReq :: String -> [(ByteString, ByteString)] -> (Request (ResourceT IO) -> Request (ResourceT IO)) -> IO (Response ByteString)
- handleResponse :: Response ByteString -> IO ByteString
- updateRequestHeaders :: Request m -> Request m
- bsToS :: ByteString -> String
Documentation
:: OAuth2 | OAuth Data |
-> ByteString | Authentication code gained after authorization |
-> IO (Maybe AccessToken) | Access Token |
Request (via POST method) Access Token.
FIXME: what if requestAccessToken'
return error?
:: OAuth2 | |
-> ByteString | refresh token gained after authorization |
-> IO (Maybe AccessToken) |
Request the Refresh Token.
:: (URI, PostBody) | The URI and request body for fetching token. |
-> IO ByteString | Response as ByteString |
Conduct post request.
:: FromJSON a | |
=> (URI, PostBody) | The URI and request body for fetching token. |
-> IO (Maybe a) | Response as ByteString |
Conduct post request and return response as JSON.
Conduct GET request and return response as JSON.
:: String | URL |
-> [(ByteString, ByteString)] | Extra Parameters |
-> IO (Response ByteString) | Response |
Conduct GET request with given URL by append extra parameters provided.
:: String | URL |
-> [(ByteString, ByteString)] | Extra Parameters |
-> (Request (ResourceT IO) -> Request (ResourceT IO)) | update Request |
-> IO (Response ByteString) | Response |
TODO: can not be `Request m -> Request m`, why??
:: String | URL |
-> [(ByteString, ByteString)] | Data to Post Body |
-> IO (Response ByteString) | Response |
Conduct POST request with given URL with post body data.
:: String | URL |
-> [(ByteString, ByteString)] | Data to Post Body |
-> (Request (ResourceT IO) -> Request (ResourceT IO)) | |
-> IO (Response ByteString) | Response |
updateRequestHeaders :: Request m -> Request mSource
bsToS :: ByteString -> StringSource