yesod-fb 0.5.0 → 0.5.2
raw patch · 4 files changed
+23/−8 lines, 4 filesdep +memorydep −crypto-apidep ~fb
Dependencies added: memory
Dependencies removed: crypto-api
Dependency ranges changed: fb
Files
- CHANGELOG.md +9/−0
- README.md +5/−0
- src/Yesod/Facebook.hs +6/−5
- yesod-fb.cabal +3/−3
CHANGELOG.md view
@@ -1,3 +1,12 @@+# Version 0.5.2++* Fix MonadFail issue++# Version 0.5.1++* Remove crypto-api dependency and move over to memory package+* Have MonadFail constraint+ # Version 0.5.0 * Change type signature of `fbHttpManager` from `site -> Manager` to `(Y.MonadHandler m, Y.HandlerSite m ~ site) => m HTTP.Manager`.
README.md view
@@ -1,6 +1,11 @@ yesod-fb ---------- +[](https://hackage.haskell.org/package/yesod-fb)+[](http://stackage.org/nightly/package/yesod-fb)+[](http://stackage.org/lts/package/yesod-fb) [](https://travis-ci.org/psibi/yesod-fb) Glue functions between yesod and the `fb` package.
src/Yesod/Facebook.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE OverloadedStrings, TypeFamilies #-}+{-# LANGUAGE OverloadedStrings, TypeFamilies, ScopedTypeVariables #-} module Yesod.Facebook ( -- * Running @FacebookT@ actions inside @HandlerT@ YesodFacebook(..)@@ -15,9 +15,10 @@ ) where import Control.Applicative ((<$>))-import Crypto.Classes (constTimeEq) import Network.HTTP.Client.TLS (getGlobalManager) import Data.ByteString.Char8 () -- IsString+import Data.ByteArray (convert, ScrubbedBytes)+import Control.Monad.Fail import qualified Data.Aeson as A import qualified Data.ByteString.Lazy.Char8 as L import qualified Data.Conduit as C@@ -92,10 +93,10 @@ -- fails (signature header not found, invalid signature, invalid -- JSON). parseRealTimeUpdateNotifications ::- (Y.MonadHandler m, Y.HandlerSite m ~ site, YesodFacebook site, A.FromJSON a) =>+ (Y.MonadHandler m, Y.HandlerSite m ~ site, YesodFacebook site, A.FromJSON a, MonadFail m) => m (FB.RealTimeUpdateNotification a) parseRealTimeUpdateNotifications = do- let myFail = fail . ("parseRealTimeUpdateNotifications: " ++)+ let myFail = Prelude.fail . ("parseRealTimeUpdateNotifications: " ++) -- Get request's signature. waiReq <- Y.waiRequest case lookup "X-Hub-Signature" (W.requestHeaders waiReq) of@@ -132,7 +133,7 @@ -- FIXME: Is hub.mode always subscribe? Facebook's docs say -- so, but I don't believe them =). (Just "subscribe", Just hubChallenge, Just hubVerifyToken)- | TE.encodeUtf8 hubVerifyToken `constTimeEq` token ->+ | (convert (TE.encodeUtf8 hubVerifyToken) :: ScrubbedBytes) == (convert token) -> return $ Y.RepPlain (Y.toContent hubChallenge) _ -> Y.notFound
yesod-fb.cabal view
@@ -1,5 +1,5 @@ Name: yesod-fb-Version: 0.5.0+Version: 0.5.2 Synopsis: Useful glue functions between the fb library and Yesod. Homepage: https://github.com/psibi/yesod-fb License: BSD3@@ -27,9 +27,9 @@ Build-depends: base >= 4.9.0 && < 5 , yesod-core >= 1.6.0- , fb >= 1.2.0+ , fb >= 2.0 , http-client-tls- , crypto-api+ , memory , http-conduit >= 2.3.0 , wai , conduit >= 1.3.0