@@ -16,10 +16,11 @@ import Prelude.Compat
1616
1717import Control.Concurrent.MVar
1818 (modifyMVar, newMVar)
19−import qualified Data.ByteString as BS
2019import Control.Concurrent.STM.TVar
2120import Control.Exception
21+ (SomeException (..), catch)
2222import Control.Monad
23+ (unless)
2324import Control.Monad.Base
2425 (MonadBase (..))
2526import Control.Monad.Catch
@@ -27,15 +28,18 @@ import Control.Monad.Catch
2728import Control.Monad.Error.Class
2829 (MonadError (..))
2930import Control.Monad.IO.Class
30− (liftIO)
31+ (MonadIO (..))
3132import Control.Monad.Reader
33+ (MonadReader, ReaderT, ask, runReaderT)
3234import Control.Monad.STM
3335 (STM, atomically)
3436import Control.Monad.Trans.Control
3537 (MonadBaseControl (..))
3638import Control.Monad.Trans.Except
39+ (ExceptT, runExceptT)
3740import Data.Bifunctor
3841 (bimap)
42+import qualified Data.ByteString as BS
3943import Data.ByteString.Builder
4044 (toLazyByteString)
4145import qualified Data.ByteString.Lazy as BSL
@@ -64,8 +68,8 @@ import Network.HTTP.Types
6468 (hContentType, renderQuery, statusCode)
6569import Servant.Client.Core
6670
67−import qualified Servant.Types.SourceT as S
6871import qualified Network.HTTP.Client as Client
72+import qualified Servant.Types.SourceT as S
6973
7074-- | The environment in which a request is run.
7175data ClientEnv