stackage/patching/patches/fb-0.14.11.patch
Michael Snoyman befe63a31d Add fb patch
2013-12-04 08:12:47 +02:00

79 lines
2.7 KiB
Diff

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