import Configuration ( Cfg(..) )
+
-- | The API URL of username's timeline.
--
-- See,
-- | Given username's last status id, constructs the API URL for
-- username's new statuses. Essentially, 'user_timeline_url' with a
--- "since_id" parameter tacked on.
+-- \"since_id\" parameter tacked on.
+--
user_new_statuses_url :: String -> Integer -> String
user_new_statuses_url username last_status_id =
url ++ "&since_id=" ++ since_id
-- | Return's username's timeline.
+--
get_user_timeline :: Cfg -> String -> IO B.ByteString
get_user_timeline cfg username = do
let uri = user_timeline_url username
-- | Returns the JSON representing all of username's statuses that are
--- newer than last_status_id.
+-- newer than @last_status_id@.
+--
get_user_new_statuses :: Cfg -> String -> Integer -> IO B.ByteString
get_user_new_statuses cfg username last_status_id = do
let uri = user_new_statuses_url username last_status_id
http_get cfg uri
--- | Retrieve a URL, or crash.
+-- | Retrieve a URL, or crash. The request is signed using all of the
+-- OAuth junk contained in the configuration.
+--
http_get :: Cfg -> String -> IO B.ByteString
http_get cfg url = do
manager <- newManager tlsManagerSettings
oauth :: OAuth
oauth = newOAuth {
oauthConsumerKey = consumer_key',
- oauthConsumerSecret = consumer_secret'
- }
+ oauthConsumerSecret = consumer_secret' }
credential :: Credential
credential = newCredential access_token' access_secret'