Skip to content

Commit fec941a

Browse files
committed
allow http-client-0.7.*
1 parent 23bff60 commit fec941a

File tree

1 file changed

+16
-0
lines changed
  • servant-quickcheck/src/Servant/QuickCheck/Internal

1 file changed

+16
-0
lines changed

servant-quickcheck/src/Servant/QuickCheck/Internal/Equality.hs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
1+
{-# LANGUAGE CPP #-}
2+
13
module Servant.QuickCheck.Internal.Equality where
24

35
import Data.Aeson (Value, decode, decodeStrict)
46
import Data.ByteString (ByteString)
57
import qualified Data.ByteString.Lazy as LB
68
import Data.Function (on)
79
import Network.HTTP.Client (Response, responseBody)
10+
#if MIN_VERSION_http_client(0,7,0)
11+
import Network.HTTP.Client (responseStatus, responseVersion, responseHeaders,
12+
responseBody, responseCookieJar, equivCookieJar)
13+
#endif
814
import Data.Semigroup (Semigroup (..))
915
import Prelude.Compat
1016

@@ -23,7 +29,17 @@ instance Monoid (ResponseEquality b) where
2329
--
2430
-- /Since 0.0.0.0/
2531
allEquality :: Eq b => ResponseEquality b
32+
#if MIN_VERSION_http_client(0,7,0)
33+
allEquality = ResponseEquality $ \resp resp' -> and
34+
[ responseStatus resp == responseStatus resp'
35+
, responseVersion resp == responseVersion resp'
36+
, responseHeaders resp == responseHeaders resp'
37+
, responseBody resp == responseBody resp'
38+
, responseCookieJar resp `equivCookieJar` responseCookieJar resp'
39+
]
40+
#else
2641
allEquality = ResponseEquality (==)
42+
#endif
2743

2844
-- | ByteString `Eq` instance over the response body.
2945
--

0 commit comments

Comments
 (0)