Module
Yoga.HTTP.API.Route.RouteHandler
- Package
- purescript-yoga-http-api
- Repository
- rowtype-yoga/purescript-yoga-http-api
#Handler Source
data Handler t0A handler tied to a specific route type.
Usage: userHandler :: Handler UserRoute userHandler = mkHandler { path } -> ...
#RouteHandler Source
class RouteHandler :: Type -> Row Type -> Row Type -> Row Type -> Type -> Row Type -> Constraintclass RouteHandler (route :: Type) (pathParams :: Row Type) (queryParams :: Row Type) (reqHeaders :: Row Type) (body :: Type) (respVariant :: Row Type) | route -> pathParams queryParams reqHeaders body respVariant
Type class that computes the handler function type from a Route type.
Instances
(Union partialRequest o_ (body :: fullEncoding, cookies :: Record fullCookies, headers :: Record fullHeaders), DefaultRequestFields partialRequest fullHeaders fullCookies fullEncoding, SegmentPathParams segments pathParams, SegmentQueryParams segments queryParams, EncodingBody fullEncoding body, ConvertResponseVariant userResp respVariant) => RouteHandler (Route method segments (Record partialRequest) userResp) pathParams queryParams fullHeaders body respVariant(Union partialRequest o_ (body :: fullEncoding, cookies :: Record fullCookies, headers :: Record fullHeaders), DefaultRequestFields partialRequest fullHeaders fullCookies fullEncoding, SegmentPathParams segments pathParams, SegmentQueryParams segments queryParams, EncodingBody fullEncoding body, ConvertResponseVariant userResp respVariant) => RouteHandler (Route method segments (Request (Record partialRequest)) userResp) pathParams queryParams fullHeaders body respVariant
#mkHandler Source
mkHandler :: forall route pathParams queryParams reqHeaders body respVariant. RouteHandler route pathParams queryParams reqHeaders body respVariant => HandlerFn pathParams queryParams reqHeaders body respVariant -> Handler routeCreate a Handler from a function matching the route's type.
#runHandler Source
runHandler :: forall route pathParams queryParams reqHeaders body respVariant. RouteHandler route pathParams queryParams reqHeaders body respVariant => Handler route -> HandlerFn pathParams queryParams reqHeaders body respVariantExtract the handler function from a Handler.
#APIHandlers Source
class APIHandlers :: RowList Type -> Row Type -> Constraintclass APIHandlers (rl :: RowList Type) (handlerRow :: Row Type) | rl -> handlerRow
Instances
APIHandlers Nil ()(APIHandlers tail tailRow, Cons label (Handler (Route method segments request resp)) tailRow handlerRow, Lacks label tailRow) => APIHandlers (Cons label (Route method segments request resp) tail) handlerRow
#apiHandlers Source
apiHandlers :: forall @api apiRow rl handlerRow. ApiRecord api apiRow => RowToList apiRow rl => APIHandlers rl handlerRow => Record handlerRow -> Record handlerRow- Modules
- Yoga.
HTTP. API. Path - Yoga.
HTTP. API. Route - Yoga.
HTTP. API. Route. Auth - Yoga.
HTTP. API. Route. BearerToken - Yoga.
HTTP. API. Route. Encoding - Yoga.
HTTP. API. Route. Handler - Yoga.
HTTP. API. Route. HeaderError - Yoga.
HTTP. API. Route. HeaderValue - Yoga.
HTTP. API. Route. Method - Yoga.
HTTP. API. Route. OpenAPI - Yoga.
HTTP. API. Route. OpenAPIMetadata - Yoga.
HTTP. API. Route. RenderMethod - Yoga.
HTTP. API. Route. Response - Yoga.
HTTP. API. Route. Route - Yoga.
HTTP. API. Route. RouteHandler - Yoga.
HTTP. API. Route. StatusCode