snap-web-routes-0.5.1.0: Type safe URLs for Snap

Safe HaskellNone
LanguageHaskell2010

Snap.Snaplet.Router.Internal.Types

Synopsis

Documentation

data RouterState Source

Constructors

RouterState 

Fields

_prefix :: Text
 

class Monad m => HasRouter m where Source

Instantiate this type class for Handler App App and Handler b RouterState so that the snaplet can find its state. An instance requires a type for URL m - being the URL data type you have defined - and an instance of getRouterState. Assuming your URL data type is called AppUrl, the instance for Handler b RouterState would be

instance HasRouter (Handler b RouterState) where
    type URL (Handler b RouterState) = AppUrl
    getRouterState = get

If the lens for the Router snaplet is router, your Handler App App instance would be

instance HasRouter (Handler App App) where
    type URL (Handler App App) = AppUrl
    getRouterState = with router get

Associated Types

type URL m Source

Instances