UNPKG

@adonisjs/bodyparser

Version:

BodyParser middleware for AdonisJS http server to read and parse request body

35 lines (34 loc) 1.26 kB
import type { IncomingMessage } from 'node:http'; import { type IParseOptions } from '@poppinss/qs'; import { type Encoding, type Options as RawBodyOptions } from 'raw-body'; import { type BodyParserFormConfig } from '../types.ts'; /** * Prepares parser options for URL-encoded form data by configuring * query string parsing and value normalization. * * @param options - Form body parser configuration */ export declare function prepareFormParserOptions(options: Partial<BodyParserFormConfig>): RawBodyOptions & { encoding: Encoding; qs: IParseOptions; }; /** * Parses URL-encoded form data (application/x-www-form-urlencoded) from * the request body and returns both parsed and raw representations. * * @param req - The incoming HTTP request * @param options - Parser options including encoding, limits, and query string config * * @example * ```ts * const { parsed, raw } = await parseForm(request, options) * // parsed: { username: 'virk', tags: ['node', 'typescript'] } * // raw: 'username=virk&tags=node&tags=typescript' * ``` */ export declare function parseForm(req: IncomingMessage, options: ReturnType<typeof prepareFormParserOptions>): Promise<{ parsed: { [key: string]: unknown; }; raw: string; }>;