hoauth 0.3.2 → 0.3.2.1
raw patch · 2 files changed
+61/−1 lines, 2 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Network.OAuth.Consumer: instance (Monad m) => Monad (OAuthMonadT m)
- Network.OAuth.Consumer: instance (MonadIO m) => MonadIO (OAuthMonadT m)
- Network.OAuth.Http.PercentEncoding: instance (PercentEncoding a) => PercentEncoding [a]
+ Network.OAuth.Consumer: instance Monad m => Monad (OAuthMonadT m)
+ Network.OAuth.Consumer: instance MonadIO m => MonadIO (OAuthMonadT m)
+ Network.OAuth.Http.DebugHttpClient: DebugClient :: c -> (Request -> IO ()) -> (Response -> IO ()) -> (String -> IO ()) -> DebugClient c
+ Network.OAuth.Http.DebugHttpClient: backend :: DebugClient c -> c
+ Network.OAuth.Http.DebugHttpClient: data DebugClient c
+ Network.OAuth.Http.DebugHttpClient: instance HttpClient c => HttpClient (DebugClient c)
+ Network.OAuth.Http.DebugHttpClient: stdDebugClient :: HttpClient c => c -> DebugClient c
+ Network.OAuth.Http.DebugHttpClient: traceErr :: DebugClient c -> String -> IO ()
+ Network.OAuth.Http.DebugHttpClient: traceRp :: DebugClient c -> Response -> IO ()
+ Network.OAuth.Http.DebugHttpClient: traceRq :: DebugClient c -> Request -> IO ()
+ Network.OAuth.Http.PercentEncoding: instance PercentEncoding a => PercentEncoding [a]
- Network.OAuth.Consumer: cliAskAuthorization :: (MonadIO m) => (Token -> String) -> OAuthMonadT m ()
+ Network.OAuth.Consumer: cliAskAuthorization :: MonadIO m => (Token -> String) -> OAuthMonadT m ()
- Network.OAuth.Consumer: getToken :: (Monad m) => OAuthMonadT m Token
+ Network.OAuth.Consumer: getToken :: Monad m => OAuthMonadT m Token
- Network.OAuth.Consumer: ignite :: (MonadIO m) => Application -> OAuthMonadT m ()
+ Network.OAuth.Consumer: ignite :: MonadIO m => Application -> OAuthMonadT m ()
- Network.OAuth.Consumer: putToken :: (Monad m) => Token -> OAuthMonadT m ()
+ Network.OAuth.Consumer: putToken :: Monad m => Token -> OAuthMonadT m ()
- Network.OAuth.Consumer: runOAuth :: (Monad m) => (String -> m a) -> Token -> OAuthMonadT m a -> m a
+ Network.OAuth.Consumer: runOAuth :: Monad m => (String -> m a) -> Token -> OAuthMonadT m a -> m a
- Network.OAuth.Consumer: runOAuthM :: (Monad m) => Token -> OAuthMonadT m a -> m a
+ Network.OAuth.Consumer: runOAuthM :: Monad m => Token -> OAuthMonadT m a -> m a
- Network.OAuth.Consumer: signRq :: (MonadIO m) => Token -> SigMethod -> Maybe Realm -> Request -> m OAuthRequest
+ Network.OAuth.Consumer: signRq :: MonadIO m => Token -> SigMethod -> Maybe Realm -> Request -> m OAuthRequest
- Network.OAuth.Consumer: signRq2 :: (MonadIO m) => SigMethod -> Maybe Realm -> Request -> OAuthMonadT m OAuthRequest
+ Network.OAuth.Consumer: signRq2 :: MonadIO m => SigMethod -> Maybe Realm -> Request -> OAuthMonadT m OAuthRequest
- Network.OAuth.Http.PercentEncoding: decode :: (PercentEncoding a) => String -> Maybe (a, String)
+ Network.OAuth.Http.PercentEncoding: decode :: PercentEncoding a => String -> Maybe (a, String)
- Network.OAuth.Http.PercentEncoding: decodeWithDefault :: (PercentEncoding a) => a -> String -> a
+ Network.OAuth.Http.PercentEncoding: decodeWithDefault :: PercentEncoding a => a -> String -> a
- Network.OAuth.Http.PercentEncoding: encode :: (PercentEncoding a) => a -> String
+ Network.OAuth.Http.PercentEncoding: encode :: PercentEncoding a => a -> String
Files
hoauth.cabal view
@@ -1,5 +1,5 @@ name: hoauth-version: 0.3.2+version: 0.3.2.1 category: Network,Protocol,OAuth license: BSD3 license-file: LICENSE@@ -33,6 +33,7 @@ , Network.OAuth.Http.Response , Network.OAuth.Http.HttpClient , Network.OAuth.Http.CurlHttpClient+ , Network.OAuth.Http.DebugHttpClient , Network.OAuth.Http.PercentEncoding , Network.OAuth.Http.Util , Network.OAuth.Consumer
+ src/main/haskell/Network/OAuth/Http/DebugHttpClient.hs view
@@ -0,0 +1,59 @@+-- Copyright (c) 2009, Diego Souza+-- All rights reserved.+-- +-- Redistribution and use in source and binary forms, with or without+-- modification, are permitted provided that the following conditions are met:+-- +-- * Redistributions of source code must retain the above copyright notice,+-- this list of conditions and the following disclaimer.+-- * Redistributions in binary form must reproduce the above copyright notice,+-- this list of conditions and the following disclaimer in the documentation+-- and/or other materials provided with the distribution.+-- * Neither the name of the <ORGANIZATION> nor the names of its contributors+-- may be used to endorse or promote products derived from this software+-- without specific prior written permission.+-- +-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND+-- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED+-- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE+-- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE+-- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL+-- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR+-- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER+-- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,+-- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE+-- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.++-- | Minimum definition of a user agent required to implement oauth+-- service calls. This should suffice for most applications.+module Network.OAuth.Http.DebugHttpClient+ ( DebugClient(..)+ , stdDebugClient+ ) where++import Network.OAuth.Http.HttpClient+import Network.OAuth.Http.Request+import Network.OAuth.Http.Response+import Control.Monad.Trans++-- | A client that is able to debug interaction with HTTP servers.+data DebugClient c = DebugClient { backend :: c+ , traceRq :: Request -> IO ()+ , traceRp :: Response -> IO ()+ , traceErr :: String -> IO ()+ }++-- | Creates the a instance which prints messages using putStrLn.+stdDebugClient :: (HttpClient c) => c -> DebugClient c+stdDebugClient c = DebugClient { backend = c+ , traceRq = putStrLn . ("Request: " ++) . show+ , traceRp = putStrLn . ("Response: " ++) . show+ , traceErr = putStrLn . ("Error: "++) . show+ }++instance (HttpClient c) => HttpClient (DebugClient c) where+ runClient debug req = do { liftIO (traceRq debug $ req)+ ; rsp <- runClient (backend debug) req+ ; liftIO (either (traceErr debug) (traceRp debug) $ rsp)+ ; return rsp+ }