This module exports functions which are used to execute queries and handle the OAuth authentication process.
- generateToken :: Key -> Secret -> Token
- makeRequest :: Query query => Token -> query -> IO Response
- makeRawRequest :: Token -> String -> IO Response
- makeMultiRequest :: Query query => Token -> Map String query -> IO (Map String Response)
- sendWrite :: Write write => Token -> write -> IO Response
- debugQuery :: Query query => query -> IO ()
- debugWrite :: Write write => write -> IO ()
- data Token
This function takes a set of credentials and returns an OAuth token that can be used to make requests.
This function takes an OAuth token and a query (which is member of the Query typeclass) and returns an IO action which will fetch a response from the Factual API.
This function can be used to make raw read requests for any path. You pass in your Token and the path of your request (e.g. "/t/places?q=starbucks")
This function can be used to make multi queries. You pass in a Map of Strings to queries and a single query is made to the API. The result is a Map of the same keys to regular response values.
This function takes an OAuth token and a Write and retunrs and IO action which sends the Write to API and returns a Response.
This function takes a query and prints out the path for debugging purposes
This function takes a write and prints out the path and body for debugging purposes.
The hoauth Token type
The OAuth Token.
This token is used to perform 2 legged OAuth requests.
The service provider has granted you the request token but the user has not yet authorized your application. You need to exchange this token by a proper AccessToken, but this may only happen after user has granted you permission to do so.
This is a proper 3 legged OAuth. The difference between this and ReqToken is that user has authorized your application and you can perform requests on behalf of that user.