authenticate 0.0.0 → 0.0.1
raw patch · 2 files changed
+11/−10 lines, 2 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Web.Authenticate.OpenId: instance Monad (Either String)
+ Web.Authenticate.OpenId: instance Monad Error
Files
- Web/Authenticate/OpenId.hs +10/−9
- authenticate.cabal +1/−1
Web/Authenticate/OpenId.hs view
@@ -26,11 +26,12 @@ -- | An openid identifier (ie, a URL). data Identifier = Identifier { identifier :: String } -instance Monad (Either String) where- return = Right- fail = Left- (Left s) >>= _ = Left s- (Right x) >>= f = f x+data Error v = Error String | Ok v+instance Monad Error where+ return = Ok+ Error s >>= _ = Error s+ Ok v >>= f = f v+ fail s = Error s -- | Returns a URL to forward the user to in order to login. getForwardUrl :: Monad m@@ -40,8 +41,8 @@ getForwardUrl openid complete = do bodyIdent' <- wget openid [] [] case bodyIdent' of- Left s -> return $ fail s- Right bodyIdent -> do+ Error s -> return $ fail s+ Ok bodyIdent -> do server <- getOpenIdVar "server" bodyIdent let delegate = fromMaybe openid $ getOpenIdVar "delegate" bodyIdent return $ return $ constructUrl server@@ -81,8 +82,8 @@ Just authUrl -> do content' <- wget authUrl [] [] case content' of- Left s -> return $ fail s- Right content -> do+ Error s -> return $ fail s+ Ok content -> do let isValid = contains "is_valid:true" content if isValid then return $
authenticate.cabal view
@@ -1,5 +1,5 @@ name: authenticate-version: 0.0.0+version: 0.0.1 license: BSD3 license-file: LICENSE author: Michael Snoyman <michael@snoyman.com>