rest-client 0.2.3.1 → 0.2.3.2
raw patch · 3 files changed
+26/−16 lines, 3 filesdep +data-defaultdep ~case-insensitivedep ~http-conduitdep ~rest-typesnew-uploader
Dependencies added: data-default
Dependency ranges changed: case-insensitive, http-conduit, rest-types
Files
- rest-client.cabal +6/−5
- src/Rest/Client/Base.hs +11/−10
- src/Rest/Client/Internal.hs +9/−1
rest-client.cabal view
@@ -1,5 +1,5 @@ Name: rest-client-Version: 0.2.3.1+Version: 0.2.3.2 Description: Utility library for use in generated API client libraries. Synopsis: Utility library for use in generated API client libraries. Maintainer: code@silk.co@@ -17,16 +17,17 @@ , aeson >= 0.7 && < 0.8 , aeson-utils == 0.2.1 , bytestring >= 0.9 && < 0.11- , case-insensitive >= 0.4 && < 1.2+ , case-insensitive >= 0.4 && < 1.3+ , data-default == 0.5.* , exception-transformers == 0.3.*- , http-conduit >= 1.9.2.1 && < 1.10+ , http-conduit >= 1.9.2.1 && < 2.2 , http-types >= 0.7 && < 0.9 , hxt >= 9.2 && < 9.4+ , hxt-pickle-utils == 0.1.* , monad-control == 0.3.* , mtl >= 2.0 && < 2.2- , hxt-pickle-utils == 0.1.* , resourcet >= 0.4 && < 0.5- , rest-types == 1.9.0.1+ , rest-types == 1.9.* , tostring == 0.2.* , transformers-base == 0.4.* , uri-encode == 1.5.*
src/Rest/Client/Base.hs view
@@ -28,13 +28,13 @@ import Control.Applicative import Control.Monad import Control.Monad.Base-import Control.Monad.Cont hiding (mapM)-import Control.Monad.Error hiding (mapM)+import Control.Monad.Cont hiding (mapM)+import Control.Monad.Error hiding (mapM) import Control.Monad.Exception-import Control.Monad.List hiding (mapM)-import Control.Monad.RWS hiding (mapM)+import Control.Monad.List hiding (mapM)+import Control.Monad.RWS hiding (mapM) import Control.Monad.Reader hiding (mapM)-import Control.Monad.State hiding (mapM)+import Control.Monad.State hiding (mapM) import Control.Monad.Trans.Control import Control.Monad.Trans.Resource import Control.Monad.Writer hiding (mapM)@@ -132,17 +132,18 @@ putApiState = lift . putApiState runT :: (MonadBaseControl IO m, Monad m) => ApiInfo -> ApiState -> ApiT m a -> m a-runT inf st api = runResourceT (runReaderT (evalStateT (unApiT api) st) inf)+runT inf st api = runResourceT $ runT' inf st api +runT' :: (MonadBaseControl IO m, Monad m) => ApiInfo -> ApiState -> ApiT m a -> ResourceT m a+runT' inf st api = runReaderT (evalStateT (unApiT api) st) inf+ run :: String -> ApiT IO a -> IO a run = flip runWithPort 80 runWithPort :: String -> Int -> ApiT IO a -> IO a runWithPort hst prt api =- do m <- newManager def- v <- runT (ApiInfo m hst prt []) (ApiState (createCookieJar [])) api- closeManager m- return v+ withManager $ \m ->+ runT' (ApiInfo m hst prt []) (ApiState (createCookieJar [])) api data ApiResponse e a = ApiResponse
src/Rest/Client/Internal.hs view
@@ -1,4 +1,9 @@-{-# LANGUAGE FlexibleInstances, OverlappingInstances, UndecidableInstances #-}+{-# LANGUAGE+ CPP+ , FlexibleInstances+ , OverlappingInstances+ , UndecidableInstances+ #-} module Rest.Client.Internal ( module Control.Monad , module Data.String@@ -34,6 +39,9 @@ import Network.HTTP.Conduit hiding (method, responseBody, responseHeaders) import Network.HTTP.Types hiding (statusCode, statusMessage) import Text.XML.HXT.Arrow.Pickle+#if MIN_VERSION_http_conduit(2,0,0)+import Data.Default (def)+#endif import qualified Data.ByteString.Char8 as CH import qualified Data.ByteString.Lazy as L