/// import { ReferenceObject, SchemaObject } from '@loopback/openapi-v3'; import { Request } from '../types'; /** * Request body with metadata */ export type RequestBody = { /** * Parsed value of the request body */ value: any | undefined; /** * Is coercion required? Some forms of request such as urlencoded don't * have rich types such as number or boolean. */ coercionRequired?: boolean; /** * Resolved media type */ mediaType?: string; /** * Corresponding schema for the request body */ schema?: SchemaObject | ReferenceObject; }; /** * Interface to be implemented by body parser extensions */ export interface BodyParser { /** * Name of the parser */ name: string | symbol; /** * Indicate if the given media type is supported * @param mediaType - Media type */ supports(mediaType: string): boolean; /** * Parse the request body * @param request - http request */ parse(request: Request): Promise; } /** * Plain function for body parsing */ export type BodyParserFunction = (request: Request) => Promise; /** * Binding tag for request body parser extensions */ export declare const REQUEST_BODY_PARSER_TAG = "rest.requestBodyParser";