rest-client-0.4: Utility library for use in generated API client libraries.

Safe HaskellNone
LanguageHaskell98

Rest.Client.Base

Documentation

data ApiInfo Source

Constructors

ApiInfo 

Fields

manager :: Manager
 
apiHost :: String
 
apiPort :: Int
 
headers :: [(String, String)]
 

data ApiState Source

Constructors

ApiState 

Fields

cookies :: CookieJar
 

newtype ApiT m a Source

Constructors

ApiT 

Fields

unApiT :: StateT ApiState (ReaderT ApiInfo (ResourceT m)) a
 

Instances

MonadTrans ApiT 
MonadTransControl ApiT 
MonadBase b m => MonadBase b (ApiT m) 
MonadBaseControl v m => MonadBaseControl v (ApiT m) 
Monad m => Monad (ApiT m) 
Functor m => Functor (ApiT m) 
(Monad m, Functor m) => Applicative (ApiT m) 
MonadIO m => MonadIO (ApiT m) 
(MonadException m, MonadBaseControl IO m) => MonadException (ApiT m) 
(MonadIO m, MonadThrow m, MonadBase IO m, PrimMonad IO, Functor m, Applicative m) => MonadResource (ApiT m) 
MonadThrow m => MonadThrow (ApiT m) 
(MonadBaseControl IO m, Monad m, Functor m, MonadBase IO m, PrimMonad IO, MonadIO m, MonadThrow m) => ApiStateC (ApiT m) 
data StT ApiT = StTApiT {} 
data StM (ApiT m) = StMApiT {} 

type Api = ApiT IO Source

class (MonadResource m, MonadBaseControl IO m, Monad m, Functor m, MonadBase IO m, PrimMonad IO) => ApiStateC m where Source

Instances

ApiStateC m => ApiStateC (ListT m) 
(MonadBaseControl IO m, Monad m, Functor m, MonadBase IO m, PrimMonad IO, MonadIO m, MonadThrow m) => ApiStateC (ApiT m) 
(Monoid w, ApiStateC m) => ApiStateC (WriterT w m) 
ApiStateC m => ApiStateC (StateT s m) 
ApiStateC m => ApiStateC (ReaderT r m) 
(Error e, ApiStateC m) => ApiStateC (ErrorT e m) 
(Monoid w, ApiStateC m) => ApiStateC (RWST r w s m) 

runT :: (MonadBaseControl IO m, Monad m) => ApiInfo -> ApiState -> ApiT m a -> ResourceT m a Source

run :: String -> ApiT IO a -> IO a Source

data ApiResponse e a Source

Instances

(Show e, Show a) => Show (ApiResponse e a)