base-nestjs-app
Version:
Nestjs wrapper for creation of standarized apps
24 lines • 1.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getAdapter = getAdapter;
const platform_fastify_1 = require("@nestjs/platform-fastify");
const add_get_body_hook_1 = require("./add-get-body-hook");
const permissive_json_parser_1 = require("./permissive-json-parser");
const KB = 1024;
const MB = KB * KB;
const DEFAULT_MAX_PARAM_SIZE = 65;
const DEFAULT_BODY_LIMIT = 50;
function getAdapter(options = {}) {
const http2 = (options.http2 ?? process.env.HTTP2_SERVER === 'true');
const adapter = new platform_fastify_1.FastifyAdapter({
http2,
maxParamLength: (options.maxParamLengthKb ?? DEFAULT_MAX_PARAM_SIZE) * KB,
bodyLimit: (options.bodyLimitMb ?? DEFAULT_BODY_LIMIT) * MB,
});
const instance = adapter.getInstance();
(0, add_get_body_hook_1.addGetBodyHook)(instance, options);
instance.removeContentTypeParser('application/json');
instance.addContentTypeParser('application/json', { parseAs: 'buffer' }, (0, permissive_json_parser_1.permissiveJsonParserFactory)(instance.initialConfig.onProtoPoisoning ?? 'error', instance.initialConfig.onConstructorPoisoning ?? 'error'));
return adapter;
}
//# sourceMappingURL=get-adapter.js.map