diff --git a/rest-client.cabal b/rest-client.cabal
--- a/rest-client.cabal
+++ b/rest-client.cabal
@@ -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.*
diff --git a/src/Rest/Client/Base.hs b/src/Rest/Client/Base.hs
--- a/src/Rest/Client/Base.hs
+++ b/src/Rest/Client/Base.hs
@@ -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
diff --git a/src/Rest/Client/Internal.hs b/src/Rest/Client/Internal.hs
--- a/src/Rest/Client/Internal.hs
+++ b/src/Rest/Client/Internal.hs
@@ -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
