packages feed

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 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 ---------- +[![Hackage](https://img.shields.io/hackage/v/yesod-fb.svg)](https://hackage.haskell.org/package/yesod-fb)+[![Stackage+Nightly](http://stackage.org/package/yesod-fb/badge/nightly)](http://stackage.org/nightly/package/yesod-fb)+[![Stackage+LTS](http://stackage.org/package/yesod-fb/badge/lts)](http://stackage.org/lts/package/yesod-fb) [![Build Status](https://travis-ci.org/psibi/yesod-fb.svg?branch=master)](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