Interface for a parser.

interface ParserInterface {
    attachTo: (app: ZibriApplication) => void | Promise<void>;
    parseBody: (
        req: HttpRequest | WebsocketRequest | HttpClientResponse,
        metadata: BodyMetadata,
    ) => unknown;
    parseHeaderParam: (
        req: HttpRequest | WebsocketRequest | HttpClientResponse,
        metadata: HeaderParamMetadata,
    ) => unknown;
    parsePathParam: (
        req: HttpRequest | WebsocketRequest,
        metadata: PathParamMetadata,
    ) => unknown;
    parseQueryParam: (
        req: HttpRequest | WebsocketRequest,
        metadata: QueryParamMetadata,
    ) => unknown;
}

Implemented by

Properties

attachTo: (app: ZibriApplication) => void | Promise<void>

Attaches the parser to the Zibri application.

parseBody: (
    req: HttpRequest | WebsocketRequest | HttpClientResponse,
    metadata: BodyMetadata,
) => unknown

Parses the body resolved from the given metadata.

parseHeaderParam: (
    req: HttpRequest | WebsocketRequest | HttpClientResponse,
    metadata: HeaderParamMetadata,
) => unknown

Parses the header param resolved from the given metadata.

parsePathParam: (
    req: HttpRequest | WebsocketRequest,
    metadata: PathParamMetadata,
) => unknown

Parses the path param resolved from the given metadata.

parseQueryParam: (
    req: HttpRequest | WebsocketRequest,
    metadata: QueryParamMetadata,
) => unknown

Parses the query param resolved from the given metadata.