packages feed

rest-client 0.5.1.0 → 0.5.1.1

raw patch · 3 files changed

+29/−10 lines, 3 filesdep +http-clientdep ~http-conduitdep ~http-typesPVP ok

version bump matches the API change (PVP)

Dependencies added: http-client

Dependency ranges changed: http-conduit, http-types

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -1,5 +1,9 @@ # Changelog +### 0.5.1.1++* Allow http-conduit 2.2.*+ ### 0.5.1.0  * Add `Functor (ApiResponse e)` instance
rest-client.cabal view
@@ -1,5 +1,5 @@ name:                rest-client-version:             0.5.1.0+version:             0.5.1.1 description:         Utility library for use in generated API client libraries. synopsis:            Utility library for use in generated API client libraries. maintainer:          code@silk.co@@ -28,9 +28,10 @@     , aeson-utils >= 0.2.1 && < 0.4     , bytestring >= 0.9 && < 0.11     , case-insensitive >= 0.4 && < 1.3-    , data-default == 0.5.*+    , data-default >= 0.5 && < 0.8     , exceptions == 0.8.*-    , http-conduit == 2.1.*+    , http-client >= 0.3 && < 0.6+    , http-conduit >= 2.1 && < 2.3     , http-types >= 0.7 && < 0.10     , hxt >= 9.2 && < 9.4     , hxt-pickle-utils == 0.1.*@@ -39,8 +40,8 @@     , resourcet >= 1.1.4 && < 1.2     , rest-types >= 1.13 && < 1.15     , tostring == 0.2.*-    , transformers >= 0.3 && < 0.5+    , transformers >= 0.3 && < 0.6     , transformers-base >= 0.4.4 && < 0.5-    , transformers-compat >= 0.3 && < 0.5+    , transformers-compat >= 0.3 && < 0.6     , uri-encode == 1.5.*     , utf8-string >= 0.3 && < 1.1
src/Rest/Client/Internal.hs view
@@ -1,5 +1,6 @@ {-# LANGUAGE-    FlexibleInstances+    CPP+  , FlexibleInstances   , OverlappingInstances   , OverloadedStrings   , UndecidableInstances@@ -34,7 +35,9 @@ import Control.Monad import Control.Monad.Cont import Data.Aeson.Utils (FromJSON, ToJSON, eitherDecodeV, encode)+#if !MIN_VERSION_http_client(0,5,0) import Data.Default (def)+#endif import Data.List import Data.Monoid import Data.String@@ -68,16 +71,21 @@   ApiResponse    { statusCode      = HTTP.statusCode (responseStatus r)    , statusMessage   = HTTP.statusMessage (responseStatus r)-   , httpVersion     = (\v -> (httpMajor v, httpMinor v)) (responseVersion r)+   , httpVersion     = (httpMajor &&& httpMinor) (responseVersion r)    , responseHeaders = HTTP.responseHeaders r    , responseBody    = HTTP.responseBody r    } +#if MIN_VERSION_http_client(0,5,0)+defaultTimeout :: ResponseTimeout+defaultTimeout = responseTimeoutMicro (1000 * 1000 * 60 * 5)+#else defaultTimeout :: Maybe Int defaultTimeout = Just (1000 * 1000 * 60 * 5)+#endif  splitHost :: String -> (String, String)-splitHost hst = break (== '/') hst+splitHost = break (== '/')  doRequest :: ApiStateC m => (L.ByteString -> Rest.Types.Error.Reason e) -> (L.ByteString -> a) -> ApiRequest -> m (ApiResponse e a) doRequest a b = liftM (parseResult a b) . doReq@@ -90,7 +98,11 @@      hds <- fmap headers askApiInfo      jar <- fmap cookies getApiState      let (h, p) = splitHost hst+#if MIN_VERSION_http_client(0,5,0)+         req = defaultRequest+#else          req = def+#endif                 { HTTP.method = CH.pack m                 , host = CH.pack h                 , port = prt@@ -98,7 +110,9 @@                 , queryString = (renderQuery False . simpleQueryToQuery . Prelude.map (CH.pack *** CH.pack)) ps                 , HTTP.requestHeaders = rhds ++ Prelude.map (fromString *** CH.pack) hds                 , HTTP.requestBody = RequestBodyLBS bd-                , checkStatus = (\_ _ _ -> Nothing)+#if !MIN_VERSION_http_client(0,5,0)+                , checkStatus = \_ _ _ -> Nothing+#endif                 , redirectCount = 0                 , responseTimeout = defaultTimeout                 , cookieJar = Just jar@@ -143,5 +157,5 @@   makeReq :: String -> String -> [[String]] -> [(String, String)] -> Network.HTTP.Types.Header.RequestHeaders -> L.ByteString -> ApiRequest-makeReq meth v ls pList hs body = ApiRequest meth (intercalate "/" (v : map URI.encode (concat ls))) pList hs body+makeReq meth v ls = ApiRequest meth (intercalate "/" (v : map URI.encode (concat ls)))