@adonisjs/bodyparser
Version:
BodyParser middleware for AdonisJS http server to read and parse request body
35 lines (34 loc) • 1.26 kB
TypeScript
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;
}>;