packages feed

authenticate 1.3.3.2 → 1.3.4

raw patch · 6 files changed

+20/−25 lines, 6 filesdep −monad-controldep ~http-conduitPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies removed: monad-control

Dependency ranges changed: http-conduit

API changes (from Hackage documentation)

- Web.Authenticate.BrowserId: checkAssertion :: (MonadResource m, MonadBaseControl IO m) => Text -> Text -> Manager -> m (Maybe Text)
+ Web.Authenticate.BrowserId: checkAssertion :: MonadIO m => Text -> Text -> Manager -> m (Maybe Text)
- Web.Authenticate.OpenId: authenticate :: (MonadBaseControl IO m, MonadResource m, MonadIO m) => [(Text, Text)] -> Manager -> m (Identifier, [(Text, Text)])
+ Web.Authenticate.OpenId: authenticate :: MonadIO m => [(Text, Text)] -> Manager -> m (Identifier, [(Text, Text)])
- Web.Authenticate.OpenId: authenticateClaimed :: (MonadBaseControl IO m, MonadResource m, MonadIO m) => [(Text, Text)] -> Manager -> m OpenIdResponse
+ Web.Authenticate.OpenId: authenticateClaimed :: MonadIO m => [(Text, Text)] -> Manager -> m OpenIdResponse
- Web.Authenticate.OpenId: getForwardUrl :: (MonadResource m, MonadBaseControl IO m) => Text -> Text -> Maybe Text -> [(Text, Text)] -> Manager -> m Text
+ Web.Authenticate.OpenId: getForwardUrl :: MonadIO m => Text -> Text -> Maybe Text -> [(Text, Text)] -> Manager -> m Text
- Web.Authenticate.Rpxnow: authenticate :: (MonadResource m, MonadBaseControl IO m) => String -> String -> Manager -> m Identifier
+ Web.Authenticate.Rpxnow: authenticate :: MonadIO m => String -> String -> Manager -> m Identifier

Files

ChangeLog.md view
@@ -1,3 +1,7 @@+## 1.3.4++* Relaxed a bunch of type signatures+ ## 1.3.3.2  * Support for http-conduit-2.2.0 [#47](https://github.com/yesodweb/authenticate/issues/47)
OpenId2/Discovery.hs view
@@ -40,8 +40,6 @@ import Control.Applicative ((<$>), (<*>)) import Network.HTTP.Types (status200) import Control.Exception (throwIO)-import Control.Monad.Trans.Control (MonadBaseControl)-import Control.Monad.Trans.Resource (MonadResource) import Data.Conduit ((=$), ($$), yield) import Text.HTML.TagStream.Text (tokenStream, Token) import Text.HTML.TagStream.Types (Token' (TagOpen))@@ -52,7 +50,7 @@     deriving Show  -- | Attempt to resolve an OpenID endpoint, and user identifier.-discover :: (MonadBaseControl IO m, MonadIO m, MonadResource m) => Identifier -> Manager -> m Discovery+discover :: MonadIO m => Identifier -> Manager -> m Discovery discover ident@(Identifier i) manager = do     res1 <- discoverYADIS ident Nothing 10 manager     case res1 of@@ -67,7 +65,7 @@  -- | Attempt a YADIS based discovery, given a valid identifier.  The result is --   an OpenID endpoint, and the actual identifier for the user.-discoverYADIS :: (MonadResource m, MonadBaseControl IO m)+discoverYADIS :: MonadIO m               => Identifier               -> Maybe String               -> Int -- ^ remaining redirects@@ -141,9 +139,9 @@  -- | Attempt to discover an OpenID endpoint, from an HTML document.  The result -- will be an endpoint on success, and the actual identifier of the user.-discoverHTML :: (MonadResource m, MonadBaseControl IO m) => Identifier -> Manager -> m (Maybe Discovery)+discoverHTML :: MonadIO m => Identifier -> Manager -> m (Maybe Discovery) discoverHTML ident'@(Identifier ident) manager = do-    req <- liftIO $ parseUrl $ unpack ident+    req <- liftIO $ parseUrlThrow $ unpack ident     lbs <- liftM responseBody $ httpLbs req manager     return $ parseHTML ident' . toStrict . decodeUtf8With lenientDecode $ lbs 
Web/Authenticate/BrowserId.hs view
@@ -6,26 +6,24 @@     ) where  import Data.Text (Text)-import Network.HTTP.Conduit (parseUrl, responseBody, httpLbs, Manager, method, urlEncodedBody)+import Network.HTTP.Conduit (parseUrlThrow, responseBody, httpLbs, Manager, method, urlEncodedBody) import Data.Aeson (json, Value (Object, String)) import Data.Attoparsec.Lazy (parse, maybeResult) import qualified Data.HashMap.Lazy as Map import Data.Text.Encoding (encodeUtf8)-import Control.Monad.IO.Class (liftIO)-import Control.Monad.Trans.Control (MonadBaseControl)-import Control.Monad.Trans.Resource (MonadResource)+import Control.Monad.IO.Class (MonadIO, liftIO)  -- | Location of the Javascript file hosted by browserid.org browserIdJs :: Text browserIdJs = "https://login.persona.org/include.js" -checkAssertion :: (MonadResource m, MonadBaseControl IO m)+checkAssertion :: MonadIO m                => Text -- ^ audience                -> Text -- ^ assertion                -> Manager                -> m (Maybe Text) checkAssertion audience assertion manager = do-    req' <- liftIO $ parseUrl "https://verifier.login.persona.org/verify"+    req' <- liftIO $ parseUrlThrow "https://verifier.login.persona.org/verify"     let req = urlEncodedBody                 [ ("audience", encodeUtf8 audience)                 , ("assertion", encodeUtf8 assertion)
Web/Authenticate/OpenId.hs view
@@ -25,7 +25,7 @@ import Data.Text.Encoding.Error (lenientDecode) import Data.Text.Lazy (toStrict) import Network.HTTP.Conduit-    ( parseUrl, urlEncodedBody, responseBody, httpLbs+    ( parseUrlThrow, urlEncodedBody, responseBody, httpLbs     , Manager     ) import Control.Arrow ((***), second)@@ -36,11 +36,9 @@ import Blaze.ByteString.Builder (toByteString) import Network.HTTP.Types (renderQueryText) import Control.Exception (throwIO)-import Control.Monad.Trans.Control (MonadBaseControl)-import Control.Monad.Trans.Resource (MonadResource)  getForwardUrl-    :: (MonadResource m, MonadBaseControl IO m)+    :: MonadIO m     => Text -- ^ The openid the user provided.     -> Text -- ^ The URL for this application\'s complete page.     -> Maybe Text -- ^ Optional realm@@ -81,7 +79,7 @@                 : params  authenticate-    :: (MonadBaseControl IO m, MonadResource m, MonadIO m)+    :: MonadIO m     => [(Text, Text)]     -> Manager     -> m (Identifier, [(Text, Text)])@@ -97,7 +95,7 @@     }  authenticateClaimed-    :: (MonadBaseControl IO m, MonadResource m, MonadIO m)+    :: MonadIO m     => [(Text, Text)]     -> Manager     -> m OpenIdResponse@@ -124,7 +122,7 @@     let params' = map (encodeUtf8 *** encodeUtf8)                 $ ("openid.mode", "check_authentication")                 : filter (\(k, _) -> k /= "openid.mode") params-    req' <- liftIO $ parseUrl $ unpack $ endpoint discOP+    req' <- liftIO $ parseUrlThrow $ unpack $ endpoint discOP     let req = urlEncodedBody params' req'     rsp <- httpLbs req manager     let rps = parseDirectResponse $ toStrict $ decodeUtf8With lenientDecode $ responseBody rsp
Web/Authenticate/Rpxnow.hs view
@@ -38,8 +38,6 @@ import qualified Data.HashMap.Lazy as Map import Control.Applicative ((<$>), (<*>)) import Control.Exception (throwIO)-import Control.Monad.Trans.Control (MonadBaseControl)-import Control.Monad.Trans.Resource (MonadResource)  -- | Information received from Rpxnow after a valid login. data Identifier = Identifier@@ -49,7 +47,7 @@     deriving (Eq, Ord, Read, Show, Data, Typeable)  -- | Attempt to log a user in.-authenticate :: (MonadResource m, MonadBaseControl IO m)+authenticate :: MonadIO m              => String -- ^ API key given by RPXNOW.              -> String -- ^ Token passed by client.              -> Manager@@ -61,7 +59,7 @@             , "&token="             , S.pack token             ]-    req' <- liftIO $ parseUrl "https://rpxnow.com"+    req' <- liftIO $ parseUrlThrow "https://rpxnow.com"     let req =             req'                 { method = "POST"
authenticate.cabal view
@@ -1,5 +1,5 @@ name:            authenticate-version:         1.3.3.2+version:         1.3.4 license:         MIT license-file:    LICENSE author:          Michael Snoyman, Hiromi Ishii, Arash Rouhani@@ -34,7 +34,6 @@                    , conduit                       >= 0.5                    , tagstream-conduit             >= 0.5.5                    , resourcet-                   , monad-control     exposed-modules: Web.Authenticate.Rpxnow,                      Web.Authenticate.OpenId,                      Web.Authenticate.BrowserId,