Module
Hyper.Trout.Router
- Package
- purescript-hypertrout
- Repository
- owickstrom/purescript-hypertrout
#RoutingError Source
data RoutingError
Constructors
Instances
Generic RoutingError _
Eq RoutingError
Show RoutingError
(Monad m, Request req m, Response res m r, ResponseWritable r m b, IsSymbol method, AllMimeRender body ct b) => MethodRouter (Method method body) ct (ExceptT RoutingError m body) (Middleware m { components :: c, request :: req, response :: res StatusLineOpen } { components :: c, request :: req, response :: res ResponseEnded } Unit)
#Router Source
class Router e h r | e -> h, e -> r where
Members
route :: Proxy e -> RoutingContext -> h -> Either RoutingError r
Instances
(Router e1 h1 out, Router e2 h2 out) => Router (e1 :<|> e2) (h1 :<|> h2) 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 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)
(MethodRouter m1 cts h1 out, MethodRouter m2 cts h2 out) => Router (Resource (m1 :<|> m2) cts) (h1 :<|> h2) out
(IsSymbol m, MethodRouter (Method m r) cts h out) => Router (Resource (Method m r) cts) h out
#MethodRouter Source
class MethodRouter m cts h r | m -> cts, m -> h, m -> r where
Members
routeMethod :: Proxy m -> RoutingContext -> h -> Either RoutingError r
Instances
(Monad m, Request req m, Response res m r, ResponseWritable r m b, IsSymbol method, AllMimeRender body ct b) => MethodRouter (Method method body) ct (ExceptT RoutingError m body) (Middleware m { components :: c, request :: req, response :: res StatusLineOpen } { components :: c, request :: req, response :: res ResponseEnded } Unit)
#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