@nestjs/platform-express
Advanced tools
Comparing version 9.3.0-beta.3 to 9.3.0
@@ -8,4 +8,6 @@ /// <reference types="node" /> | ||
import { AbstractHttpAdapter } from '@nestjs/core/adapters/http-adapter'; | ||
import * as bodyparser from 'body-parser'; | ||
import { NestExpressBodyParserOptions } from '../interfaces/nest-express-body-parser-options.interface'; | ||
import { ServeStaticOptions } from '../interfaces/serve-static-options.interface'; | ||
declare type VersionedRoute = <TRequest extends Record<string, any> = any, TResponse = any>(req: TRequest, res: TResponse, next: () => void) => any; | ||
type VersionedRoute = <TRequest extends Record<string, any> = any, TResponse = any>(req: TRequest, res: TResponse, next: () => void) => any; | ||
export declare class ExpressAdapter extends AbstractHttpAdapter { | ||
@@ -42,2 +44,3 @@ private readonly routerMethodFactory; | ||
registerParserMiddleware(prefix?: string, rawBody?: boolean): void; | ||
useBodyParser<Options extends bodyparser.Options = bodyparser.Options>(type: keyof bodyparser.BodyParser, rawBody: boolean, options?: NestExpressBodyParserOptions<Options>): this; | ||
setLocal(key: string, value: any): this; | ||
@@ -44,0 +47,0 @@ getType(): string; |
@@ -9,2 +9,3 @@ "use strict"; | ||
const body_parser_1 = require("body-parser"); | ||
const bodyparser = require("body-parser"); | ||
const cors = require("cors"); | ||
@@ -152,2 +153,8 @@ const express = require("express"); | ||
} | ||
useBodyParser(type, rawBody, options) { | ||
const parserOptions = (0, get_body_parser_options_util_1.getBodyParserOptions)(rawBody, options || {}); | ||
const parser = bodyparser[type](parserOptions); | ||
this.use(parser); | ||
return this; | ||
} | ||
setLocal(key, value) { | ||
@@ -154,0 +161,0 @@ this.instance.locals[key] = value; |
export * from './nest-express-application.interface'; | ||
export * from './nest-express-body-parser-options.interface'; |
@@ -5,1 +5,2 @@ "use strict"; | ||
tslib_1.__exportStar(require("./nest-express-application.interface"), exports); | ||
tslib_1.__exportStar(require("./nest-express-body-parser-options.interface"), exports); |
/// <reference types="node" /> | ||
import { Server } from 'net'; | ||
import { INestApplication } from '@nestjs/common'; | ||
import * as bodyparser from 'body-parser'; | ||
import { NestExpressBodyParserOptions } from './nest-express-body-parser-options.interface'; | ||
import { ServeStaticOptions } from './serve-static-options.interface'; | ||
@@ -67,2 +69,16 @@ /** | ||
/** | ||
* Register Express body parsers on the fly. Will respect | ||
* the application's `rawBody` option. | ||
* | ||
* @example | ||
* const app = await NestFactory.create<NestExpressApplication>( | ||
* AppModule, | ||
* { rawBody: true } | ||
* ); | ||
* app.useBodyParser('json', { limit: '50mb' }); | ||
* | ||
* @returns {this} | ||
*/ | ||
useBodyParser<Options extends bodyparser.Options = bodyparser.Options>(parser: keyof bodyparser.BodyParser, options?: NestExpressBodyParserOptions<Options>): this; | ||
/** | ||
* Sets one or multiple base directories for templates (views). | ||
@@ -69,0 +85,0 @@ * |
import { ModuleMetadata, Type } from '@nestjs/common/interfaces'; | ||
import { MulterOptions } from './multer-options.interface'; | ||
export declare type MulterModuleOptions = MulterOptions; | ||
export type MulterModuleOptions = MulterOptions; | ||
export interface MulterOptionsFactory { | ||
@@ -5,0 +5,0 @@ createMulterOptions(): Promise<MulterModuleOptions> | MulterModuleOptions; |
@@ -9,2 +9,9 @@ export declare const multerExceptions: { | ||
LIMIT_UNEXPECTED_FILE: string; | ||
MISSING_FIELD_NAME: string; | ||
}; | ||
export declare const busboyExceptions: { | ||
MULTIPART_BOUNDARY_NOT_FOUND: string; | ||
MULTIPART_MALFORMED_PART_HEADER: string; | ||
MULTIPART_UNEXPECTED_END_OF_FORM: string; | ||
MULTIPART_UNEXPECTED_END_OF_FILE: string; | ||
}; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.multerExceptions = void 0; | ||
exports.busboyExceptions = exports.multerExceptions = void 0; | ||
exports.multerExceptions = { | ||
// from https://github.com/expressjs/multer/blob/master/lib/multer-error.js | ||
LIMIT_PART_COUNT: 'Too many parts', | ||
@@ -12,2 +13,10 @@ LIMIT_FILE_SIZE: 'File too large', | ||
LIMIT_UNEXPECTED_FILE: 'Unexpected field', | ||
MISSING_FIELD_NAME: 'Field name missing', | ||
}; | ||
exports.busboyExceptions = { | ||
// from https://github.com/mscdex/busboy/blob/master/lib/types/multipart.js | ||
MULTIPART_BOUNDARY_NOT_FOUND: 'Multipart: Boundary not found', | ||
MULTIPART_MALFORMED_PART_HEADER: 'Malformed part header', | ||
MULTIPART_UNEXPECTED_END_OF_FORM: 'Unexpected end of form', | ||
MULTIPART_UNEXPECTED_END_OF_FILE: 'Unexpected end of file', | ||
}; |
@@ -19,3 +19,10 @@ "use strict"; | ||
case multer_constants_1.multerExceptions.LIMIT_PART_COUNT: | ||
case multer_constants_1.multerExceptions.MISSING_FIELD_NAME: | ||
return new common_1.BadRequestException(error.message); | ||
case multer_constants_1.busboyExceptions.MULTIPART_BOUNDARY_NOT_FOUND: | ||
return new common_1.BadRequestException(error.message); | ||
case multer_constants_1.busboyExceptions.MULTIPART_MALFORMED_PART_HEADER: | ||
case multer_constants_1.busboyExceptions.MULTIPART_UNEXPECTED_END_OF_FORM: | ||
case multer_constants_1.busboyExceptions.MULTIPART_UNEXPECTED_END_OF_FILE: | ||
return new common_1.BadRequestException(`Multipart: ${error.message}`); | ||
} | ||
@@ -22,0 +29,0 @@ return error; |
{ | ||
"name": "@nestjs/platform-express", | ||
"version": "9.3.0-beta.3", | ||
"version": "9.3.0", | ||
"description": "Nest - modern, fast, powerful node.js web framework (@platform-express)", | ||
@@ -27,4 +27,4 @@ "author": "Kamil Mysliwiec", | ||
"devDependencies": { | ||
"@nestjs/common": "^9.3.0-beta.3", | ||
"@nestjs/core": "^9.3.0-beta.3" | ||
"@nestjs/common": "9.3.0", | ||
"@nestjs/core": "9.3.0" | ||
}, | ||
@@ -31,0 +31,0 @@ "peerDependencies": { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
61537
48
1001
0