Module
Hyper.Trout.Router
- Package
- purescript-hypertrout
- Repository
- owickstrom/purescript-hypertrout
#RoutingError Source
#Router Source
class Router e h r | e -> h, e -> r where
Members
route :: Proxy e -> RoutingContext -> h -> Handler r
Instances
(Router t1 h1 out, Router t2 (Record h2) out, IsSymbol name, RowCons name h1 h2 hs) => Router (name := t1 :<|> t2) (Record hs) out
(Router t h out, IsSymbol name, RowCons name h () hs) => Router (name := t) (Record hs) out
(Router e h out, IsSymbol lit) => Router ((Lit lit) :> e) h out
(Router e h out, FromPathPiece v) => Router ((Capture c v) :> e) (v -> h) out
(Router e h out, FromPathPiece v) => Router ((CaptureAll c v) :> e) (Array v -> h) out
(IsSymbol k, Router e h out, FromPathPiece t) => Router ((QueryParam k t) :> e) (Maybe t -> h) out
(IsSymbol k, Router e h out, FromPathPiece t) => Router ((QueryParams k t) :> e) (Array t -> h) out
(IsSymbol method, Router (Method method body ct) (Record hs) out, Router methods (Record hs) out) => Router ((Method method body ct) :<|> methods) (Record hs) out
(Monad m, Request req m, Response res m r, ResponseWritable r m b, IsSymbol method, AllMimeRender body ct b, RowCons method (ExceptT RoutingError m body) hs' hs) => Router (Method method body ct) (Record hs) (Middleware m { components :: c, request :: req, response :: res StatusLineOpen } { components :: c, request :: req, response :: res ResponseEnded } Unit)
(IsSymbol method) => Router (Raw method) (Middleware m { components :: c, request :: req, response :: res StatusLineOpen } { components :: c, request :: req, response :: res ResponseEnded } Unit) (Middleware m { components :: c, request :: req, response :: res StatusLineOpen } { components :: c, request :: req, response :: res ResponseEnded } Unit)
(Router methods h out) => Router (Resource methods) h out
#router Source
router :: forall c res req m r s. Monad m => Request req m => Router s r (Middleware m (Conn req (res StatusLineOpen) c) (Conn req (res ResponseEnded) c) Unit) => Proxy s -> r -> (Status -> Maybe String -> Middleware m (Conn req (res StatusLineOpen) c) (Conn req (res ResponseEnded) c) Unit) -> Middleware m (Conn req (res StatusLineOpen) c) (Conn req (res ResponseEnded) c) Unit
- Modules
- Hyper.
Trout. Router