wai-middleware-content-type-0.1.0: Route to different middlewares based on the incoming Accept header.

Copyright(c) 2015 Athan Clark
LicenseBSD-3
Maintainerathan.clark@gmail.com
Stabilityexperimental
PortabilityGHC
Safe HaskellNone
LanguageHaskell2010

Network.Wai.Middleware.ContentType.Types

Contents

Description

 

Synopsis

Types

data FileExt Source

Supported file extensions

Constructors

Html 
Css 
JavaScript 
Json 
Text 
Markdown 

getFileExt :: Request -> Maybe FileExt Source

Gets the known file extension from a Request's pathInfo.

toExt :: Text -> Maybe FileExt Source

matches a file extension (including it's prefix dot - .html for example) to a known one.

newtype FileExtListenerT r m a Source

The monad for our DSL - when using the combinators, our result will be this type:

myListener :: FileExtListenerT (MiddlewareT m) m ()
myListener = do
  text "Text!"
  json ("Json!" :: T.Text)

Constructors

FileExtListenerT 

Instances

(Monad m, MonadUrl b f m) => MonadUrl b f (FileExtListenerT r m) Source 
MonadWriter w m => MonadWriter w (FileExtListenerT r m) Source 
MonadReader r' m => MonadReader r' (FileExtListenerT r m) Source 
MonadError e m => MonadError e (FileExtListenerT r m) Source 
MonadBaseControl b m => MonadBaseControl b (FileExtListenerT r m) Source 
MonadBase b m => MonadBase b (FileExtListenerT r m) Source 
MonadTrans (FileExtListenerT r) Source 
MonadTransControl (FileExtListenerT r) Source 
MFunctor (FileExtListenerT r) Source 
Monad m => MonadState (FileExtMap r) (FileExtListenerT r m) Source 
Monad m => Monad (FileExtListenerT r m) Source 
Functor m => Functor (FileExtListenerT r m) Source 
MonadFix m => MonadFix (FileExtListenerT r m) Source 
Monad m => Applicative (FileExtListenerT r m) Source 
MonadPlus m => Alternative (FileExtListenerT r m) Source 
MonadPlus m => MonadPlus (FileExtListenerT r m) Source 
MonadIO m => MonadIO (FileExtListenerT r m) Source 
(MonadResource m, MonadBase IO m) => MonadResource (FileExtListenerT r m) Source 
MonadMask m => MonadMask (FileExtListenerT r m) Source 
MonadLogger m => MonadLogger (FileExtListenerT r m) Source 
MonadCont m => MonadCont (FileExtListenerT r m) Source 
MonadCatch m => MonadCatch (FileExtListenerT r m) Source 
MonadThrow m => MonadThrow (FileExtListenerT r m) Source 
type StT (FileExtListenerT r) a = StT (StateT (FileExtMap r)) a Source 
type StM (FileExtListenerT r m) a = ComposeSt (FileExtListenerT r) m a Source 

Utilities

tell' :: (Monoid w, MonadState w m) => w -> m () Source

Version of tell for StateT