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: string | Record<string, unknown>;
rawBody: string;
}
}
declare function bodyParser(opts?: bodyParser.Options): Koa.Middleware;
declare namespace bodyParser {
interface Options {
enableTypes?: string[];
encode?: string;
formLimit?: string;
jsonLimit?: string;
textLimit?: string;
strict?: boolean;
detectJSON?: (ctx: Koa.Context) => boolean;
extendTypes?: {
json?: string[];
form?: string[];
text?: string[];
};
onerror?: (err: Error, ctx: Koa.Context) => void;
}
}
export = bodyParser;
Additional Details
- Last updated: Sat, 05 Jun 2021 00:01:32 GMT
- Dependencies: @types/koa
- Global values: none
Credits
These definitions were written by Jerry Chin, Anup Kishore, Hiroshi Ioka, Alexi Maschas, and Piotr Kuczynski.