packages feed

hoauth 0.2.3 → 0.2.4

raw patch · 3 files changed

+18/−13 lines, 3 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Network.OAuth.Http.HttpClient: unlift :: (HttpClient m) => m a -> IO a
+ Network.OAuth.Consumer: completeRequest :: (MonadIO m) => SigMethod -> Token -> Maybe Realm -> Request -> m Request
+ Network.OAuth.Http.HttpClient: unpack :: (HttpClient m) => m a -> IO a
- Network.OAuth.Consumer: oauthRequest :: (MonadIO m, HttpClient m) => SigMethod -> Maybe Realm -> Request -> OAuthMonad m (Either String Token)
+ Network.OAuth.Consumer: oauthRequest :: (MonadIO m, HttpClient m) => SigMethod -> Maybe Realm -> Request -> OAuthMonad m Token

Files

hoauth.cabal view
@@ -1,5 +1,5 @@ name: hoauth-version: 0.2.3+version: 0.2.4 category: Network,Protocol,OAuth license: BSD3 license-file: LICENSE
src/main/haskell/Network/OAuth/Consumer.hs view
@@ -59,6 +59,7 @@                      -- * OAuthMonad related functions                      ,runOAuth                      ,oauthRequest+                     ,completeRequest                      ,serviceRequest                      ,cliAskAuthorization                      ,ignite@@ -207,22 +208,26 @@ -- | Executes an oauth request which is intended to upgrade/refresh the current --   token. Use this combinator to get either a request token or an access --   token.-oauthRequest :: (MonadIO m,HttpClient m) => SigMethod -> Maybe Realm -> Request -> OAuthMonad m (Either String Token)+oauthRequest :: (MonadIO m,HttpClient m) => SigMethod -> Maybe Realm -> Request -> OAuthMonad m Token oauthRequest sigm realm req = do response <- serviceRequest sigm realm req                                  token    <- get                                  case (fromResponse response token)-                                  of (Right token') -> do put token'-                                                          return (Right token')-                                     (Left err)     -> return (Left err)+                                   of (Right token') -> do put token'+                                                           return token'+                                      (Left err)     -> fail err +-- | Simply complete the request with the required information to perform the oauth request.+completeRequest :: (MonadIO m) => SigMethod -> Token -> Maybe Realm -> Request -> m Request+completeRequest sigm token realm req = do nonce     <- _nonce+                                          timestamp <- _timestamp+                                          let authValue = authorization sigm realm nonce timestamp token req+                                          return (req {reqHeaders = insert ("Authorization",authValue) (reqHeaders req)})+ -- | Performs a signed request with the available token. serviceRequest :: (MonadIO m,HttpClient m) => SigMethod -> Maybe Realm -> Request -> OAuthMonad m Response-serviceRequest sigm realm req = do nonce     <- _nonce-                                   timestamp <- _timestamp-                                   token     <- get-                                   -                                   let authValue = authorization sigm realm nonce timestamp token req-                                   lift (request (req {reqHeaders = insert ("Authorization",authValue) (reqHeaders req)}))+serviceRequest sigm realm req0 = do token <- get+                                    req   <- completeRequest sigm token realm req0+                                    lift (request req)  -- | Extracts the token from the OAuthMonad. getToken :: (Monad m) => OAuthMonad m Token
src/main/haskell/Network/OAuth/Http/HttpClient.hs view
@@ -45,14 +45,14 @@   request :: Request -> m Response    -- | Unpacks the monad and returns the inner IO monad.-  unlift :: m a -> IO a+  unpack :: m a -> IO a  -- | The libcurl backend newtype CurlM a = CurlM { unCurlM :: IO a }   deriving (Monad,MonadIO,MonadFix,Functor)  instance HttpClient CurlM where-  unlift = unCurlM+  unpack = unCurlM    request req = CurlM $ withCurlDo $ do c <- initialize                                         setopts c opts