diff -ru orig/fb.cabal new/fb.cabal --- orig/fb.cabal 2013-12-04 08:11:01.690633132 +0200 +++ new/fb.cabal 2013-12-04 08:11:01.000000000 +0200 @@ -73,7 +73,7 @@ , conduit == 1.0.* , data-default , http-types - , http-conduit == 1.9.* + , http-conduit >= 1.9 && < 2.1 , attoparsec == 0.10.* , attoparsec-conduit == 1.0.* , unordered-containers diff -ru orig/src/Facebook/Base.hs new/src/Facebook/Base.hs --- orig/src/Facebook/Base.hs 2013-12-04 08:11:01.690633132 +0200 +++ new/src/Facebook/Base.hs 2013-12-04 08:11:01.000000000 +0200 @@ -15,6 +15,7 @@ import Control.Monad (mzero) import Control.Monad.IO.Class (MonadIO) import Data.ByteString.Char8 (ByteString) +import Data.Default (def) import Data.Text (Text) import Data.Typeable (Typeable) @@ -49,13 +50,17 @@ Text -- ^ Path. -> Maybe (AccessToken anyKind) -- ^ Access token. -> HT.SimpleQuery -- ^ Parameters. +#if MIN_VERSION_http_conduit(2, 0, 0) + -> FacebookT anyAuth m H.Request +#else -> FacebookT anyAuth m (H.Request n) +#endif fbreq path mtoken query = withTier $ \tier -> let host = case tier of Production -> "graph.facebook.com" Beta -> "graph.beta.facebook.com" - in H.def { H.secure = True + in def { H.secure = True , H.host = host , H.port = 443 , H.path = TE.encodeUtf8 path @@ -140,7 +145,11 @@ -- | Same as 'H.http', but tries to parse errors and throw -- meaningful 'FacebookException'@s@. fbhttp :: (MonadBaseControl IO m, C.MonadResource m) => +#if MIN_VERSION_http_conduit(2, 0, 0) + H.Request +#else H.Request m +#endif -> FacebookT anyAuth m (H.Response (C.ResumableSource m ByteString)) fbhttp req = do manager <- getManager @@ -148,7 +157,11 @@ fbhttpHelper :: (MonadBaseControl IO m, C.MonadResource m) => H.Manager +#if MIN_VERSION_http_conduit(2, 0, 0) + -> H.Request +#else -> H.Request m +#endif -> m (H.Response (C.ResumableSource m ByteString)) fbhttpHelper manager req = do let req' = req { H.checkStatus = \_ _ _ -> Nothing } @@ -192,7 +205,11 @@ -- | Send a @HEAD@ request just to see if the resposne status -- code is 2XX (returns @True@) or not (returns @False@). httpCheck :: (MonadBaseControl IO m, C.MonadResource m) => +#if MIN_VERSION_http_conduit(2, 0, 0) + H.Request +#else H.Request (C.ResourceT m) +#endif -> FacebookT anyAuth m Bool httpCheck req = runResourceInFb $ do