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

Safe HaskellNone

Snap.Snaplet.Router.Internal.Types

Synopsis

Documentation

data RouterState Source

Constructors

RouterState 

Fields

_prefix :: Text
 

class Monad m => HasRouter m whereSource

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