Skip to main content
Module

x/cav/endpoint.ts>EndpointSchema

A server framework for Deno
Go to Latest
interface EndpointSchema
import { type EndpointSchema } from "https://deno.land/x/cav@0.2.0-alpha.7/endpoint.ts";

Options for processing requests, used to construct Endpoints.

Properties

optional
path: string | null

URLPattern string to match against the Request's routed path. If the string starts with '^', the full request path will be used instead. The full URLPattern syntax is supported.

Any captured path parameters will be merged into the path parameters captured during routing.

optional
param: Parser<ParamRecord> | null

Parses any path parameters captured during routing. The result is available as the "param" resolve argument.

If an error is thrown during parsing, the endpoint won't match with the request and the router will continue looking for matching handlers.

optional
keys: [string, ...string[]] | null

Keys to use when signing cookies. The cookies are available as the "cookie" resolve argument.

optional
ctx: ((c: ContextArg) => any) | null

Factory function endpoints for creating a custom request context, which is available to resolves as the ctx property on the resolve argument.

Context handling happens after the endpoint matched with the Request but before input validation begins.

optional
query: Parser<QueryRecord> | null

Parses the query string parameters passed into the URL. Parsed query parameters are available as the "query" resolve argument.

If parsing fails, undefined will be parsed to check for a default value. If that also fails, a 400 bad request error will be sent to the client.

optional
maxBodySize: number | null

Limits the size of posted bodies. If a body exceeds the limit, a 413 HttpError will be thrown and serialized back to the client.

If 0 is specified, body size is unlimited. (Don't do that.) The default is 1024 * 1024 bytes (1 Megabyte).

optional
body: Parser | null

Parses the POSTed body, if there is one. The behavior of this parser determines the methods allowed for this endpoint. The output from parsing is available as the "body" resolve argument.

If there is no parser, only GET and HEAD requests will be allowed. If there is one and it successfully parses undefined, POST will also be allowed. If the parser throws when parsing undefined, only POST will be allowed.

optional
resolve: ((x: ResolveArg<any, any, any, any>) => any) | null

Resolves a successfully matching request into result data to serialize back to the client.

optional
error: ((x: ErrorArg) => any) | null

If specified, an error thrown during request processing will be processed with this function, which can return a value to send back to the client instead of the serialized error.