What is @types/koa-bodyparser?
@types/koa-bodyparser provides TypeScript definitions for the koa-bodyparser middleware, which is used to parse the body of HTTP requests in Koa applications.
What are @types/koa-bodyparser's main functionalities?
Basic Usage
This code demonstrates the basic usage of koa-bodyparser. It sets up a Koa application, uses the bodyParser middleware to parse incoming request bodies, and then responds with the parsed body.
const Koa = require('koa');
const bodyParser = require('koa-bodyparser');
const app = new Koa();
app.use(bodyParser());
app.use(async ctx => {
ctx.body = ctx.request.body;
});
app.listen(3000);
Custom Options
This code demonstrates how to use custom options with koa-bodyparser. It configures the middleware to parse JSON, form, and text bodies with specific size limits.
const Koa = require('koa');
const bodyParser = require('koa-bodyparser');
const app = new Koa();
app.use(bodyParser({
enableTypes: ['json', 'form', 'text'],
jsonLimit: '1mb',
textLimit: '1mb',
formLimit: '1mb'
}));
app.use(async ctx => {
ctx.body = ctx.request.body;
});
app.listen(3000);
Error Handling
This code demonstrates how to handle errors in koa-bodyparser. It sets up a custom error handler that throws a 422 error if the body parsing fails.
const Koa = require('koa');
const bodyParser = require('koa-bodyparser');
const app = new Koa();
app.use(bodyParser({
onerror: (err, ctx) => {
ctx.throw('body parse error', 422);
}
}));
app.use(async ctx => {
ctx.body = ctx.request.body;
});
app.listen(3000);
Other packages similar to @types/koa-bodyparser
koa-body
koa-body is a more comprehensive body parser middleware for Koa that supports multipart, urlencoded, and JSON request bodies. It offers more features compared to koa-bodyparser, such as file uploads and custom handling of multipart requests.
koa-multer
koa-multer is a middleware for handling multipart/form-data, which is primarily used for uploading files. It is based on multer and provides more advanced file handling capabilities compared to koa-bodyparser.
koa-json-body
koa-json-body is a simpler alternative to koa-bodyparser that focuses solely on parsing JSON request bodies. It is lightweight and easy to use but lacks the flexibility of handling other content types.
Installation
npm install --save @types/koa-bodyparser
Summary
This package contains type definitions for koa-bodyparser (https://github.com/koajs/body-parser).
Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/koa-bodyparser.
import * as Koa from "koa";
declare module "koa" {
interface Request {
body?: unknown;
rawBody: string;
}
}
declare function bodyParser(opts?: bodyParser.Options): Koa.Middleware;
declare namespace bodyParser {
interface Options {
enableTypes?: string[] | undefined;
encoding?: string | undefined;
formLimit?: string | undefined;
jsonLimit?: string | undefined;
textLimit?: string | undefined;
xmlLimit?: string | undefined;
strict?: boolean | undefined;
detectJSON?: ((ctx: Koa.Context) => boolean) | undefined;
extendTypes?: {
json?: string[] | string | undefined;
form?: string[] | string | undefined;
text?: string[] | string | undefined;
} | undefined;
onerror?: ((err: Error, ctx: Koa.Context) => void) | undefined;
}
}
export = bodyParser;
Additional Details
- Last updated: Tue, 07 Nov 2023 09:09:38 GMT
- Dependencies: @types/koa
Credits
These definitions were written by Jerry Chin, Hiroshi Ioka, Alexi Maschas, and Pirasis Leelatanon.