kawhi-0.3.0: stats.NBA.com library

CopyrightAaron Taylor 2016
LicenseMIT
Maintaineraaron@hamsterdam.co
Safe HaskellNone
LanguageHaskell2010

Control.Monad.Http

Contents

Description

Class, instances and transformer for monads capable of HTTP requests.

In some cases, it is useful to generalize this capability. For example, it can be used provide mock responses for testing.

Synopsis

Class

class Monad m => MonadHttp m where #

The class of monads capable of HTTP requests.

Minimal complete definition

performRequest

Instances
MonadHttp IO # 
Instance details

Defined in Control.Monad.Http

MonadThrow m => MonadHttp (HttpT m) # 
Instance details

Defined in Control.Monad.Http

MonadIO m => MonadHttp (ExceptT e m) # 
Instance details

Defined in Control.Monad.Http

Transformer

newtype HttpT m a #

An HTTP transformer monad parameterized by an inner monad m.

Constructors

HttpT 
Instances
MonadTrans HttpT # 
Instance details

Defined in Control.Monad.Http

Methods

lift :: Monad m => m a -> HttpT m a #

MonadError e m => MonadError e (HttpT m) # 
Instance details

Defined in Control.Monad.Http

Methods

throwError :: e -> HttpT m a #

catchError :: HttpT m a -> (e -> HttpT m a) -> HttpT m a #

Monad m => Monad (HttpT m) # 
Instance details

Defined in Control.Monad.Http

Methods

(>>=) :: HttpT m a -> (a -> HttpT m b) -> HttpT m b #

(>>) :: HttpT m a -> HttpT m b -> HttpT m b #

return :: a -> HttpT m a #

fail :: String -> HttpT m a #

Functor m => Functor (HttpT m) # 
Instance details

Defined in Control.Monad.Http

Methods

fmap :: (a -> b) -> HttpT m a -> HttpT m b #

(<$) :: a -> HttpT m b -> HttpT m a #

Applicative m => Applicative (HttpT m) # 
Instance details

Defined in Control.Monad.Http

Methods

pure :: a -> HttpT m a #

(<*>) :: HttpT m (a -> b) -> HttpT m a -> HttpT m b #

liftA2 :: (a -> b -> c) -> HttpT m a -> HttpT m b -> HttpT m c #

(*>) :: HttpT m a -> HttpT m b -> HttpT m b #

(<*) :: HttpT m a -> HttpT m b -> HttpT m a #

MonadIO m => MonadIO (HttpT m) # 
Instance details

Defined in Control.Monad.Http

Methods

liftIO :: IO a -> HttpT m a #

MonadThrow m => MonadThrow (HttpT m) # 
Instance details

Defined in Control.Monad.Http

Methods

throwM :: Exception e => e -> HttpT m a #

MonadCatch m => MonadCatch (HttpT m) # 
Instance details

Defined in Control.Monad.Http

Methods

catch :: Exception e => HttpT m a -> (e -> HttpT m a) -> HttpT m a #

MonadThrow m => MonadHttp (HttpT m) # 
Instance details

Defined in Control.Monad.Http

Monad m => MonadReader (Response ByteString) (HttpT m) # 
Instance details

Defined in Control.Monad.Http

runHttpT #

Arguments

:: HttpT m a

The HTTP monad transformer

-> Response ByteString

The response

-> m a

The resulting inner monad

Run an HTTP monad action and extract the inner monad.