UNPKG

27 kBJavaScriptView Raw
1// This file is autogenerated by build/build-validation.js, do not edit
2/* istanbul ignore file */
3// constant needed for customRule0 to work
4const self = {}
5
6'use strict';
7var validate = (function() {
8 var refVal = [];
9 return function validate(data, dataPath, parentData, parentDataProperty, rootData) {
10 'use strict';
11 var vErrors = null;
12 var errors = 0;
13 if (rootData === undefined) rootData = data;
14 if ((data && typeof data === "object" && !Array.isArray(data))) {
15 if (data.bodyLimit === undefined) data.bodyLimit = 1048576;
16 if (data.caseSensitive === undefined) data.caseSensitive = true;
17 if (data.ignoreTrailingSlash === undefined) data.ignoreTrailingSlash = false;
18 if (data.disableRequestLogging === undefined) data.disableRequestLogging = false;
19 if (data.maxParamLength === undefined) data.maxParamLength = 100;
20 if (data.onProtoPoisoning === undefined) data.onProtoPoisoning = "error";
21 if (data.onConstructorPoisoning === undefined) data.onConstructorPoisoning = "ignore";
22 if (data.pluginTimeout === undefined) data.pluginTimeout = 10000;
23 if (data.requestIdHeader === undefined) data.requestIdHeader = "request-id";
24 if (data.requestIdLogLabel === undefined) data.requestIdLogLabel = "reqId";
25 if (data.http2SessionTimeout === undefined) data.http2SessionTimeout = 5000;
26 var errs__0 = errors;
27 var valid1 = true;
28 for (var key0 in data) {
29 var isAdditional0 = !(false || validate.schema.properties.hasOwnProperty(key0));
30 if (isAdditional0) {
31 delete data[key0];
32 }
33 }
34 if (valid1) {
35 var data1 = data.bodyLimit;
36 var errs_1 = errors;
37 if ((typeof data1 !== "number" || (data1 % 1) || data1 !== data1)) {
38 var dataType1 = typeof data1;
39 var coerced1 = undefined;
40 if (dataType1 == 'boolean' || data1 === null || (dataType1 == 'string' && data1 && data1 == +data1 && !(data1 % 1))) coerced1 = +data1;
41 if (coerced1 === undefined) {
42 validate.errors = [{
43 keyword: 'type',
44 dataPath: (dataPath || '') + '.bodyLimit',
45 schemaPath: '#/properties/bodyLimit/type',
46 params: {
47 type: 'integer'
48 },
49 message: 'should be integer'
50 }];
51 return false;
52 } else {
53 data1 = coerced1;
54 data['bodyLimit'] = coerced1;
55 }
56 }
57 var valid1 = errors === errs_1;
58 if (valid1) {
59 var data1 = data.caseSensitive;
60 var errs_1 = errors;
61 if (typeof data1 !== "boolean") {
62 var dataType1 = typeof data1;
63 var coerced1 = undefined;
64 if (data1 === 'false' || data1 === 0 || data1 === null) coerced1 = false;
65 else if (data1 === 'true' || data1 === 1) coerced1 = true;
66 if (coerced1 === undefined) {
67 validate.errors = [{
68 keyword: 'type',
69 dataPath: (dataPath || '') + '.caseSensitive',
70 schemaPath: '#/properties/caseSensitive/type',
71 params: {
72 type: 'boolean'
73 },
74 message: 'should be boolean'
75 }];
76 return false;
77 } else {
78 data1 = coerced1;
79 data['caseSensitive'] = coerced1;
80 }
81 }
82 var valid1 = errors === errs_1;
83 if (valid1) {
84 var data1 = data.http2;
85 if (data1 === undefined) {
86 valid1 = true;
87 } else {
88 var errs_1 = errors;
89 if (typeof data1 !== "boolean") {
90 var dataType1 = typeof data1;
91 var coerced1 = undefined;
92 if (data1 === 'false' || data1 === 0 || data1 === null) coerced1 = false;
93 else if (data1 === 'true' || data1 === 1) coerced1 = true;
94 if (coerced1 === undefined) {
95 validate.errors = [{
96 keyword: 'type',
97 dataPath: (dataPath || '') + '.http2',
98 schemaPath: '#/properties/http2/type',
99 params: {
100 type: 'boolean'
101 },
102 message: 'should be boolean'
103 }];
104 return false;
105 } else {
106 data1 = coerced1;
107 data['http2'] = coerced1;
108 }
109 }
110 var valid1 = errors === errs_1;
111 }
112 if (valid1) {
113 var data1 = data.https;
114 if (data1 === undefined) {
115 valid1 = true;
116 } else {
117 var errs_1 = errors;
118 var errs__1 = errors;
119 var valid1 = true;
120 var errs_2 = errors;
121 var errs__2 = errors;
122 var errs_3 = errors;
123 var errs__3 = errors,
124 prevValid3 = false,
125 valid3 = false,
126 passingSchemas3 = null;
127 var errs_4 = errors;
128 if (typeof data1 !== "boolean") {
129 var dataType4 = typeof data1;
130 var coerced4 = undefined;
131 if (data1 === 'false' || data1 === 0 || data1 === null) coerced4 = false;
132 else if (data1 === 'true' || data1 === 1) coerced4 = true;
133 if (coerced4 === undefined) {
134 var err = {};
135 if (vErrors === null) vErrors = [err];
136 else vErrors.push(err);
137 errors++;
138 } else {
139 data1 = coerced4;
140 data['https'] = coerced4;
141 }
142 }
143 var valid4 = errors === errs_4;
144 if (valid4) {
145 valid3 = prevValid3 = true;
146 passingSchemas3 = 0;
147 }
148 var errs_4 = errors;
149 if (data1 !== null) {
150 var dataType4 = typeof data1;
151 var coerced4 = undefined;
152 if (data1 === '' || data1 === 0 || data1 === false) coerced4 = null;
153 if (coerced4 === undefined) {
154 var err = {};
155 if (vErrors === null) vErrors = [err];
156 else vErrors.push(err);
157 errors++;
158 } else {
159 data1 = coerced4;
160 data['https'] = coerced4;
161 }
162 }
163 var valid4 = errors === errs_4;
164 if (valid4 && prevValid3) {
165 valid3 = false;
166 passingSchemas3 = [passingSchemas3, 1];
167 } else {
168 if (valid4) {
169 valid3 = prevValid3 = true;
170 passingSchemas3 = 1;
171 }
172 var errs_4 = errors;
173 if ((data1 && typeof data1 === "object" && !Array.isArray(data1))) {
174 if (true) {
175 var errs__4 = errors;
176 var valid5 = true;
177 for (var key4 in data1) {
178 var isAdditional4 = !(false || key4 == 'allowHTTP1');
179 if (isAdditional4) {
180 delete data1[key4];
181 }
182 }
183 if (valid5) {
184 var data2 = data1.allowHTTP1;
185 if (data2 === undefined) {
186 valid5 = false;
187 var err = {};
188 if (vErrors === null) vErrors = [err];
189 else vErrors.push(err);
190 errors++;
191 } else {
192 var errs_5 = errors;
193 if (typeof data2 !== "boolean") {
194 var dataType5 = typeof data2;
195 var coerced5 = undefined;
196 if (data2 === 'false' || data2 === 0 || data2 === null) coerced5 = false;
197 else if (data2 === 'true' || data2 === 1) coerced5 = true;
198 if (coerced5 === undefined) {
199 var err = {};
200 if (vErrors === null) vErrors = [err];
201 else vErrors.push(err);
202 errors++;
203 } else {
204 data2 = coerced5;
205 data1['allowHTTP1'] = coerced5;
206 }
207 }
208 var valid5 = errors === errs_5;
209 }
210 }
211 }
212 } else {
213 var err = {};
214 if (vErrors === null) vErrors = [err];
215 else vErrors.push(err);
216 errors++;
217 }
218 var valid4 = errors === errs_4;
219 if (valid4 && prevValid3) {
220 valid3 = false;
221 passingSchemas3 = [passingSchemas3, 2];
222 } else {
223 if (valid4) {
224 valid3 = prevValid3 = true;
225 passingSchemas3 = 2;
226 }
227 }
228 }
229 if (!valid3) {
230 var err = {};
231 if (vErrors === null) vErrors = [err];
232 else vErrors.push(err);
233 errors++;
234 } else {
235 errors = errs__3;
236 if (vErrors !== null) {
237 if (errs__3) vErrors.length = errs__3;
238 else vErrors = null;
239 }
240 }
241 var valid3 = errors === errs_3;
242 if (valid3) {
243 var err = {};
244 if (vErrors === null) vErrors = [err];
245 else vErrors.push(err);
246 errors++;
247 } else {
248 errors = errs__2;
249 if (vErrors !== null) {
250 if (errs__2) vErrors.length = errs__2;
251 else vErrors = null;
252 }
253 }
254 var valid2 = errors === errs_2;
255 errors = errs__1;
256 if (vErrors !== null) {
257 if (errs__1) vErrors.length = errs__1;
258 else vErrors = null;
259 }
260 if (valid2) {
261 var errs_2 = errors;
262 customRule0.errors = null;
263 var errs__2 = errors;
264 var valid2;
265 valid2 = customRule0.call(self, validate.schema.properties.https.then.setDefaultValue, data1, validate.schema.properties.https.then, (dataPath || '') + '.https', data, 'https', rootData);
266 if (data) data1 = data['https'];
267 if (!valid2) {
268 validate.errors = [{
269 keyword: 'setDefaultValue',
270 dataPath: (dataPath || '') + '.https',
271 schemaPath: '#/properties/https/then/setDefaultValue',
272 params: {
273 keyword: 'setDefaultValue'
274 },
275 message: 'should pass "setDefaultValue" keyword validation'
276 }];
277 return false;
278 }
279 var valid2 = errors === errs_2;
280 valid1 = valid2;
281 }
282 if (!valid1) {
283 var err = {
284 keyword: 'if',
285 dataPath: (dataPath || '') + '.https',
286 schemaPath: '#/properties/https/if',
287 params: {
288 failingKeyword: 'then'
289 },
290 message: 'should match "' + 'then' + '" schema'
291 };
292 if (vErrors === null) vErrors = [err];
293 else vErrors.push(err);
294 errors++;
295 validate.errors = vErrors;
296 return false;
297 }
298 var valid1 = errors === errs_1;
299 }
300 if (valid1) {
301 var data1 = data.ignoreTrailingSlash;
302 var errs_1 = errors;
303 if (typeof data1 !== "boolean") {
304 var dataType1 = typeof data1;
305 var coerced1 = undefined;
306 if (data1 === 'false' || data1 === 0 || data1 === null) coerced1 = false;
307 else if (data1 === 'true' || data1 === 1) coerced1 = true;
308 if (coerced1 === undefined) {
309 validate.errors = [{
310 keyword: 'type',
311 dataPath: (dataPath || '') + '.ignoreTrailingSlash',
312 schemaPath: '#/properties/ignoreTrailingSlash/type',
313 params: {
314 type: 'boolean'
315 },
316 message: 'should be boolean'
317 }];
318 return false;
319 } else {
320 data1 = coerced1;
321 data['ignoreTrailingSlash'] = coerced1;
322 }
323 }
324 var valid1 = errors === errs_1;
325 if (valid1) {
326 var data1 = data.disableRequestLogging;
327 var errs_1 = errors;
328 if (typeof data1 !== "boolean") {
329 var dataType1 = typeof data1;
330 var coerced1 = undefined;
331 if (data1 === 'false' || data1 === 0 || data1 === null) coerced1 = false;
332 else if (data1 === 'true' || data1 === 1) coerced1 = true;
333 if (coerced1 === undefined) {
334 validate.errors = [{
335 keyword: 'type',
336 dataPath: (dataPath || '') + '.disableRequestLogging',
337 schemaPath: '#/properties/disableRequestLogging/type',
338 params: {
339 type: 'boolean'
340 },
341 message: 'should be boolean'
342 }];
343 return false;
344 } else {
345 data1 = coerced1;
346 data['disableRequestLogging'] = coerced1;
347 }
348 }
349 var valid1 = errors === errs_1;
350 if (valid1) {
351 var data1 = data.maxParamLength;
352 var errs_1 = errors;
353 if ((typeof data1 !== "number" || (data1 % 1) || data1 !== data1)) {
354 var dataType1 = typeof data1;
355 var coerced1 = undefined;
356 if (dataType1 == 'boolean' || data1 === null || (dataType1 == 'string' && data1 && data1 == +data1 && !(data1 % 1))) coerced1 = +data1;
357 if (coerced1 === undefined) {
358 validate.errors = [{
359 keyword: 'type',
360 dataPath: (dataPath || '') + '.maxParamLength',
361 schemaPath: '#/properties/maxParamLength/type',
362 params: {
363 type: 'integer'
364 },
365 message: 'should be integer'
366 }];
367 return false;
368 } else {
369 data1 = coerced1;
370 data['maxParamLength'] = coerced1;
371 }
372 }
373 var valid1 = errors === errs_1;
374 if (valid1) {
375 var data1 = data.onProtoPoisoning;
376 var errs_1 = errors;
377 if (typeof data1 !== "string") {
378 var dataType1 = typeof data1;
379 var coerced1 = undefined;
380 if (dataType1 == 'number' || dataType1 == 'boolean') coerced1 = '' + data1;
381 else if (data1 === null) coerced1 = '';
382 if (coerced1 === undefined) {
383 validate.errors = [{
384 keyword: 'type',
385 dataPath: (dataPath || '') + '.onProtoPoisoning',
386 schemaPath: '#/properties/onProtoPoisoning/type',
387 params: {
388 type: 'string'
389 },
390 message: 'should be string'
391 }];
392 return false;
393 } else {
394 data1 = coerced1;
395 data['onProtoPoisoning'] = coerced1;
396 }
397 }
398 var valid1 = errors === errs_1;
399 if (valid1) {
400 var data1 = data.onConstructorPoisoning;
401 var errs_1 = errors;
402 if (typeof data1 !== "string") {
403 var dataType1 = typeof data1;
404 var coerced1 = undefined;
405 if (dataType1 == 'number' || dataType1 == 'boolean') coerced1 = '' + data1;
406 else if (data1 === null) coerced1 = '';
407 if (coerced1 === undefined) {
408 validate.errors = [{
409 keyword: 'type',
410 dataPath: (dataPath || '') + '.onConstructorPoisoning',
411 schemaPath: '#/properties/onConstructorPoisoning/type',
412 params: {
413 type: 'string'
414 },
415 message: 'should be string'
416 }];
417 return false;
418 } else {
419 data1 = coerced1;
420 data['onConstructorPoisoning'] = coerced1;
421 }
422 }
423 var valid1 = errors === errs_1;
424 if (valid1) {
425 var data1 = data.pluginTimeout;
426 var errs_1 = errors;
427 if ((typeof data1 !== "number" || (data1 % 1) || data1 !== data1)) {
428 var dataType1 = typeof data1;
429 var coerced1 = undefined;
430 if (dataType1 == 'boolean' || data1 === null || (dataType1 == 'string' && data1 && data1 == +data1 && !(data1 % 1))) coerced1 = +data1;
431 if (coerced1 === undefined) {
432 validate.errors = [{
433 keyword: 'type',
434 dataPath: (dataPath || '') + '.pluginTimeout',
435 schemaPath: '#/properties/pluginTimeout/type',
436 params: {
437 type: 'integer'
438 },
439 message: 'should be integer'
440 }];
441 return false;
442 } else {
443 data1 = coerced1;
444 data['pluginTimeout'] = coerced1;
445 }
446 }
447 var valid1 = errors === errs_1;
448 if (valid1) {
449 var data1 = data.requestIdHeader;
450 var errs_1 = errors;
451 if (typeof data1 !== "string") {
452 var dataType1 = typeof data1;
453 var coerced1 = undefined;
454 if (dataType1 == 'number' || dataType1 == 'boolean') coerced1 = '' + data1;
455 else if (data1 === null) coerced1 = '';
456 if (coerced1 === undefined) {
457 validate.errors = [{
458 keyword: 'type',
459 dataPath: (dataPath || '') + '.requestIdHeader',
460 schemaPath: '#/properties/requestIdHeader/type',
461 params: {
462 type: 'string'
463 },
464 message: 'should be string'
465 }];
466 return false;
467 } else {
468 data1 = coerced1;
469 data['requestIdHeader'] = coerced1;
470 }
471 }
472 var valid1 = errors === errs_1;
473 if (valid1) {
474 var data1 = data.requestIdLogLabel;
475 var errs_1 = errors;
476 if (typeof data1 !== "string") {
477 var dataType1 = typeof data1;
478 var coerced1 = undefined;
479 if (dataType1 == 'number' || dataType1 == 'boolean') coerced1 = '' + data1;
480 else if (data1 === null) coerced1 = '';
481 if (coerced1 === undefined) {
482 validate.errors = [{
483 keyword: 'type',
484 dataPath: (dataPath || '') + '.requestIdLogLabel',
485 schemaPath: '#/properties/requestIdLogLabel/type',
486 params: {
487 type: 'string'
488 },
489 message: 'should be string'
490 }];
491 return false;
492 } else {
493 data1 = coerced1;
494 data['requestIdLogLabel'] = coerced1;
495 }
496 }
497 var valid1 = errors === errs_1;
498 if (valid1) {
499 var data1 = data.http2SessionTimeout;
500 var errs_1 = errors;
501 if ((typeof data1 !== "number" || (data1 % 1) || data1 !== data1)) {
502 var dataType1 = typeof data1;
503 var coerced1 = undefined;
504 if (dataType1 == 'boolean' || data1 === null || (dataType1 == 'string' && data1 && data1 == +data1 && !(data1 % 1))) coerced1 = +data1;
505 if (coerced1 === undefined) {
506 validate.errors = [{
507 keyword: 'type',
508 dataPath: (dataPath || '') + '.http2SessionTimeout',
509 schemaPath: '#/properties/http2SessionTimeout/type',
510 params: {
511 type: 'integer'
512 },
513 message: 'should be integer'
514 }];
515 return false;
516 } else {
517 data1 = coerced1;
518 data['http2SessionTimeout'] = coerced1;
519 }
520 }
521 var valid1 = errors === errs_1;
522 }
523 }
524 }
525 }
526 }
527 }
528 }
529 }
530 }
531 }
532 }
533 }
534 }
535 } else {
536 validate.errors = [{
537 keyword: 'type',
538 dataPath: (dataPath || '') + "",
539 schemaPath: '#/type',
540 params: {
541 type: 'object'
542 },
543 message: 'should be object'
544 }];
545 return false;
546 }
547 validate.errors = vErrors;
548 return errors === 0;
549 };
550})();
551validate.schema = {
552 "type": "object",
553 "additionalProperties": false,
554 "properties": {
555 "bodyLimit": {
556 "type": "integer",
557 "default": 1048576
558 },
559 "caseSensitive": {
560 "type": "boolean",
561 "default": true
562 },
563 "http2": {
564 "type": "boolean"
565 },
566 "https": {
567 "if": {
568 "not": {
569 "oneOf": [{
570 "type": "boolean"
571 }, {
572 "type": "null"
573 }, {
574 "type": "object",
575 "additionalProperties": false,
576 "required": ["allowHTTP1"],
577 "properties": {
578 "allowHTTP1": {
579 "type": "boolean"
580 }
581 }
582 }]
583 }
584 },
585 "then": {
586 "setDefaultValue": true
587 }
588 },
589 "ignoreTrailingSlash": {
590 "type": "boolean",
591 "default": false
592 },
593 "disableRequestLogging": {
594 "type": "boolean",
595 "default": false
596 },
597 "maxParamLength": {
598 "type": "integer",
599 "default": 100
600 },
601 "onProtoPoisoning": {
602 "type": "string",
603 "default": "error"
604 },
605 "onConstructorPoisoning": {
606 "type": "string",
607 "default": "ignore"
608 },
609 "pluginTimeout": {
610 "type": "integer",
611 "default": 10000
612 },
613 "requestIdHeader": {
614 "type": "string",
615 "default": "request-id"
616 },
617 "requestIdLogLabel": {
618 "type": "string",
619 "default": "reqId"
620 },
621 "http2SessionTimeout": {
622 "type": "integer",
623 "default": 5000
624 }
625 }
626};
627validate.errors = null;
628module.exports = validate;
629
630function customRule0 (schemaParamValue, validatedParamValue, validationSchemaObject, currentDataPath, validatedParamObject, validatedParam) {
631 validatedParamObject[validatedParam] = schemaParamValue
632 return true
633}
634
635module.exports.defaultInitOptions = {"bodyLimit":1048576,"caseSensitive":true,"disableRequestLogging":false,"ignoreTrailingSlash":false,"maxParamLength":100,"onProtoPoisoning":"error","onConstructorPoisoning":"ignore","pluginTimeout":10000,"requestIdHeader":"request-id","requestIdLogLabel":"reqId","http2SessionTimeout":5000}