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 | } |
---|