UNPKG

1.58 kBJavaScriptView Raw
1"use strict";
2// Copyright IBM Corp. and LoopBack contributors 2018. All Rights Reserved.
3// Node module: @loopback/rest
4// This file is licensed under the MIT License.
5// License text available at https://opensource.org/licenses/MIT
6Object.defineProperty(exports, "__esModule", { value: true });
7exports.UrlEncodedBodyParser = void 0;
8const tslib_1 = require("tslib");
9const core_1 = require("@loopback/core");
10const body_parser_1 = require("body-parser");
11const type_is_1 = require("type-is");
12const keys_1 = require("../keys");
13const body_parser_helpers_1 = require("./body-parser.helpers");
14let UrlEncodedBodyParser = class UrlEncodedBodyParser {
15 constructor(options = {}) {
16 this.name = body_parser_helpers_1.builtinParsers.urlencoded;
17 const urlencodedOptions = (0, body_parser_helpers_1.getParserOptions)('urlencoded', options);
18 this.urlencodedParser = (0, body_parser_1.urlencoded)(urlencodedOptions);
19 }
20 supports(mediaType) {
21 return !!(0, type_is_1.is)(mediaType, 'urlencoded');
22 }
23 async parse(request) {
24 const body = await (0, body_parser_helpers_1.invokeBodyParserMiddleware)(this.urlencodedParser, request);
25 return { value: body, coercionRequired: true };
26 }
27};
28UrlEncodedBodyParser = tslib_1.__decorate([
29 tslib_1.__param(0, (0, core_1.inject)(keys_1.RestBindings.REQUEST_BODY_PARSER_OPTIONS, { optional: true })),
30 tslib_1.__metadata("design:paramtypes", [Object])
31], UrlEncodedBodyParser);
32exports.UrlEncodedBodyParser = UrlEncodedBodyParser;
33//# sourceMappingURL=body-parser.urlencoded.js.map
\No newline at end of file