[d24f17c] | 1 | "use strict";
|
---|
| 2 |
|
---|
| 3 | exports.__esModule = true;
|
---|
| 4 | exports.default = void 0;
|
---|
| 5 | // These functions will update the request.
|
---|
| 6 | // They'll be given {req, value, paramter, spec, operation}.
|
---|
| 7 | var _default = exports.default = {
|
---|
| 8 | body: bodyBuilder,
|
---|
| 9 | header: headerBuilder,
|
---|
| 10 | query: queryBuilder,
|
---|
| 11 | path: pathBuilder,
|
---|
| 12 | formData: formDataBuilder
|
---|
| 13 | }; // Add the body to the request
|
---|
| 14 | function bodyBuilder({
|
---|
| 15 | req,
|
---|
| 16 | value
|
---|
| 17 | }) {
|
---|
| 18 | req.body = value;
|
---|
| 19 | }
|
---|
| 20 |
|
---|
| 21 | // Add a form data object.
|
---|
| 22 | function formDataBuilder({
|
---|
| 23 | req,
|
---|
| 24 | value,
|
---|
| 25 | parameter
|
---|
| 26 | }) {
|
---|
| 27 | if (value || parameter.allowEmptyValue) {
|
---|
| 28 | req.form = req.form || {};
|
---|
| 29 | req.form[parameter.name] = {
|
---|
| 30 | value,
|
---|
| 31 | allowEmptyValue: parameter.allowEmptyValue,
|
---|
| 32 | collectionFormat: parameter.collectionFormat
|
---|
| 33 | };
|
---|
| 34 | }
|
---|
| 35 | }
|
---|
| 36 |
|
---|
| 37 | // Add a header to the request
|
---|
| 38 | function headerBuilder({
|
---|
| 39 | req,
|
---|
| 40 | parameter,
|
---|
| 41 | value
|
---|
| 42 | }) {
|
---|
| 43 | req.headers = req.headers || {};
|
---|
| 44 | if (typeof value !== 'undefined') {
|
---|
| 45 | req.headers[parameter.name] = value;
|
---|
| 46 | }
|
---|
| 47 | }
|
---|
| 48 |
|
---|
| 49 | // Replace path paramters, with values ( ie: the URL )
|
---|
| 50 | function pathBuilder({
|
---|
| 51 | req,
|
---|
| 52 | value,
|
---|
| 53 | parameter
|
---|
| 54 | }) {
|
---|
| 55 | req.url = req.url.split(`{${parameter.name}}`).join(encodeURIComponent(value));
|
---|
| 56 | }
|
---|
| 57 |
|
---|
| 58 | // Add a query to the `query` object, which will later be stringified into the URL's search
|
---|
| 59 | function queryBuilder({
|
---|
| 60 | req,
|
---|
| 61 | value,
|
---|
| 62 | parameter
|
---|
| 63 | }) {
|
---|
| 64 | req.query = req.query || {};
|
---|
| 65 | if (value === false && parameter.type === 'boolean') {
|
---|
| 66 | value = 'false';
|
---|
| 67 | }
|
---|
| 68 | if (value === 0 && ['number', 'integer'].indexOf(parameter.type) > -1) {
|
---|
| 69 | value = '0';
|
---|
| 70 | }
|
---|
| 71 | if (value) {
|
---|
| 72 | req.query[parameter.name] = {
|
---|
| 73 | collectionFormat: parameter.collectionFormat,
|
---|
| 74 | value
|
---|
| 75 | };
|
---|
| 76 | } else if (parameter.allowEmptyValue && value !== undefined) {
|
---|
| 77 | const paramName = parameter.name;
|
---|
| 78 | req.query[paramName] = req.query[paramName] || {};
|
---|
| 79 | req.query[paramName].allowEmptyValue = true;
|
---|
| 80 | }
|
---|
| 81 | } |
---|