twain-2.1.0.0: Tiny web application framework for WAI.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Web.Twain.Types

Synopsis

Documentation

data ResponderM a Source #

ResponderM is an Either-like monad that can "short-circuit" and return a response, or pass control to the next middleware. This provides convenient branching with do notation for redirects, error responses, etc.

Constructors

ResponderM (Request -> IO (Either RouteAction (a, Request))) 

Instances

Instances details
MonadIO ResponderM Source # 
Instance details

Defined in Web.Twain.Types

Methods

liftIO :: IO a -> ResponderM a Source #

Applicative ResponderM Source # 
Instance details

Defined in Web.Twain.Types

Functor ResponderM Source # 
Instance details

Defined in Web.Twain.Types

Methods

fmap :: (a -> b) -> ResponderM a -> ResponderM b Source #

(<$) :: a -> ResponderM b -> ResponderM a Source #

Monad ResponderM Source # 
Instance details

Defined in Web.Twain.Types

MonadCatch ResponderM Source # 
Instance details

Defined in Web.Twain.Types

Methods

catch :: Exception e => ResponderM a -> (e -> ResponderM a) -> ResponderM a Source #

MonadThrow ResponderM Source # 
Instance details

Defined in Web.Twain.Types

Methods

throwM :: Exception e => e -> ResponderM a Source #

type Param = (Text, Text) Source #

data PathPattern Source #

Constructors

MatchPath (Request -> Maybe [Param]) 

Instances

Instances details
IsString PathPattern Source # 
Instance details

Defined in Web.Twain.Types

class ParsableParam a where Source #

Parse values from request parameters.

Minimal complete definition

parseParam

Methods

parseParam :: Text -> Either HttpError a Source #

parseParamList :: Text -> Either HttpError [a] Source #

Default implementation parses comma-delimited lists.

Instances

Instances details
ParsableParam Int16 Source # 
Instance details

Defined in Web.Twain.Types

ParsableParam Int32 Source # 
Instance details

Defined in Web.Twain.Types

ParsableParam Int64 Source # 
Instance details

Defined in Web.Twain.Types

ParsableParam Int8 Source # 
Instance details

Defined in Web.Twain.Types

ParsableParam Word16 Source # 
Instance details

Defined in Web.Twain.Types

ParsableParam Word32 Source # 
Instance details

Defined in Web.Twain.Types

ParsableParam Word64 Source # 
Instance details

Defined in Web.Twain.Types

ParsableParam Word8 Source # 
Instance details

Defined in Web.Twain.Types

ParsableParam ByteString Source # 
Instance details

Defined in Web.Twain.Types

ParsableParam ByteString Source # 
Instance details

Defined in Web.Twain.Types

ParsableParam Text Source # 
Instance details

Defined in Web.Twain.Types

ParsableParam Text Source # 
Instance details

Defined in Web.Twain.Types

ParsableParam Integer Source # 
Instance details

Defined in Web.Twain.Types

ParsableParam Natural Source # 
Instance details

Defined in Web.Twain.Types

ParsableParam () Source # 
Instance details

Defined in Web.Twain.Types

ParsableParam Bool Source # 
Instance details

Defined in Web.Twain.Types

ParsableParam Char Source # 
Instance details

Defined in Web.Twain.Types

ParsableParam Double Source # 
Instance details

Defined in Web.Twain.Types

ParsableParam Float Source # 
Instance details

Defined in Web.Twain.Types

ParsableParam Int Source # 
Instance details

Defined in Web.Twain.Types

ParsableParam Word Source # 
Instance details

Defined in Web.Twain.Types

ParsableParam a => ParsableParam [a] Source # 
Instance details

Defined in Web.Twain.Types

readEither :: Read a => Text -> Either HttpError a Source #

Useful for creating ParsableParam instances for things that already implement Read.