You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					1029 lines
				
				52 KiB
			
		
		
			
		
	
	
					1029 lines
				
				52 KiB
			| 
											3 years ago
										 | // This file is autogenerated by build/build-validation.js, do not edit
 | ||
|  | /* istanbul ignore file */ | ||
|  | // constant needed for customRule0 to work
 | ||
|  | const self = {} | ||
|  | 
 | ||
|  | 'use strict'; | ||
|  | var validate = (function() { | ||
|  |   var refVal = []; | ||
|  |   return function validate(data, dataPath, parentData, parentDataProperty, rootData) { | ||
|  |     'use strict'; | ||
|  |     var vErrors = null; | ||
|  |     var errors = 0; | ||
|  |     if (rootData === undefined) rootData = data; | ||
|  |     if ((data && typeof data === "object" && !Array.isArray(data))) { | ||
|  |       if (data.connectionTimeout === undefined) data.connectionTimeout = 0; | ||
|  |       if (data.keepAliveTimeout === undefined) data.keepAliveTimeout = 5000; | ||
|  |       if (data.maxRequestsPerSocket === undefined) data.maxRequestsPerSocket = 0; | ||
|  |       if (data.requestTimeout === undefined) data.requestTimeout = 0; | ||
|  |       if (data.bodyLimit === undefined) data.bodyLimit = 1048576; | ||
|  |       if (data.caseSensitive === undefined) data.caseSensitive = true; | ||
|  |       if (data.ignoreTrailingSlash === undefined) data.ignoreTrailingSlash = false; | ||
|  |       if (data.disableRequestLogging === undefined) data.disableRequestLogging = false; | ||
|  |       if (data.jsonShorthand === undefined) data.jsonShorthand = true; | ||
|  |       if (data.maxParamLength === undefined) data.maxParamLength = 100; | ||
|  |       if (data.onProtoPoisoning === undefined) data.onProtoPoisoning = "error"; | ||
|  |       if (data.onConstructorPoisoning === undefined) data.onConstructorPoisoning = "error"; | ||
|  |       if (data.pluginTimeout === undefined) data.pluginTimeout = 10000; | ||
|  |       if (data.requestIdHeader === undefined) data.requestIdHeader = "request-id"; | ||
|  |       if (data.requestIdLogLabel === undefined) data.requestIdLogLabel = "reqId"; | ||
|  |       if (data.http2SessionTimeout === undefined) data.http2SessionTimeout = 5000; | ||
|  |       var errs__0 = errors; | ||
|  |       var valid1 = true; | ||
|  |       for (var key0 in data) { | ||
|  |         var isAdditional0 = !(false || validate.schema.properties.hasOwnProperty(key0)); | ||
|  |         if (isAdditional0) { | ||
|  |           delete data[key0]; | ||
|  |         } | ||
|  |       } | ||
|  |       if (valid1) { | ||
|  |         var data1 = data.connectionTimeout; | ||
|  |         var errs_1 = errors; | ||
|  |         if ((typeof data1 !== "number" || (data1 % 1) || data1 !== data1)) { | ||
|  |           var dataType1 = typeof data1; | ||
|  |           var coerced1 = undefined; | ||
|  |           if (coerced1 !== undefined); | ||
|  |           else if (dataType1 == 'boolean' || data1 === null || (dataType1 == 'string' && data1 && data1 == +data1 && !(data1 % 1))) coerced1 = +data1; | ||
|  |           else { | ||
|  |             validate.errors = [{ | ||
|  |               keyword: 'type', | ||
|  |               dataPath: (dataPath || '') + '.connectionTimeout', | ||
|  |               schemaPath: '#/properties/connectionTimeout/type', | ||
|  |               params: { | ||
|  |                 type: 'integer' | ||
|  |               }, | ||
|  |               message: 'should be integer' | ||
|  |             }]; | ||
|  |             return false; | ||
|  |           } | ||
|  |           if (coerced1 !== undefined) { | ||
|  |             data1 = coerced1; | ||
|  |             data['connectionTimeout'] = coerced1; | ||
|  |           } | ||
|  |         } | ||
|  |         var valid1 = errors === errs_1; | ||
|  |         if (valid1) { | ||
|  |           var data1 = data.keepAliveTimeout; | ||
|  |           var errs_1 = errors; | ||
|  |           if ((typeof data1 !== "number" || (data1 % 1) || data1 !== data1)) { | ||
|  |             var dataType1 = typeof data1; | ||
|  |             var coerced1 = undefined; | ||
|  |             if (coerced1 !== undefined); | ||
|  |             else if (dataType1 == 'boolean' || data1 === null || (dataType1 == 'string' && data1 && data1 == +data1 && !(data1 % 1))) coerced1 = +data1; | ||
|  |             else { | ||
|  |               validate.errors = [{ | ||
|  |                 keyword: 'type', | ||
|  |                 dataPath: (dataPath || '') + '.keepAliveTimeout', | ||
|  |                 schemaPath: '#/properties/keepAliveTimeout/type', | ||
|  |                 params: { | ||
|  |                   type: 'integer' | ||
|  |                 }, | ||
|  |                 message: 'should be integer' | ||
|  |               }]; | ||
|  |               return false; | ||
|  |             } | ||
|  |             if (coerced1 !== undefined) { | ||
|  |               data1 = coerced1; | ||
|  |               data['keepAliveTimeout'] = coerced1; | ||
|  |             } | ||
|  |           } | ||
|  |           var valid1 = errors === errs_1; | ||
|  |           if (valid1) { | ||
|  |             var data1 = data.maxRequestsPerSocket; | ||
|  |             var errs_1 = errors; | ||
|  |             if ((typeof data1 !== "number" || (data1 % 1) || data1 !== data1)) { | ||
|  |               var dataType1 = typeof data1; | ||
|  |               var coerced1 = undefined; | ||
|  |               if (coerced1 !== undefined); | ||
|  |               else if (dataType1 == 'boolean' || data1 === null || (dataType1 == 'string' && data1 && data1 == +data1 && !(data1 % 1))) coerced1 = +data1; | ||
|  |               else { | ||
|  |                 validate.errors = [{ | ||
|  |                   keyword: 'type', | ||
|  |                   dataPath: (dataPath || '') + '.maxRequestsPerSocket', | ||
|  |                   schemaPath: '#/properties/maxRequestsPerSocket/type', | ||
|  |                   params: { | ||
|  |                     type: 'integer' | ||
|  |                   }, | ||
|  |                   message: 'should be integer' | ||
|  |                 }]; | ||
|  |                 return false; | ||
|  |               } | ||
|  |               if (coerced1 !== undefined) { | ||
|  |                 data1 = coerced1; | ||
|  |                 data['maxRequestsPerSocket'] = coerced1; | ||
|  |               } | ||
|  |             } | ||
|  |             var valid1 = errors === errs_1; | ||
|  |             if (valid1) { | ||
|  |               var data1 = data.requestTimeout; | ||
|  |               var errs_1 = errors; | ||
|  |               if ((typeof data1 !== "number" || (data1 % 1) || data1 !== data1)) { | ||
|  |                 var dataType1 = typeof data1; | ||
|  |                 var coerced1 = undefined; | ||
|  |                 if (coerced1 !== undefined); | ||
|  |                 else if (dataType1 == 'boolean' || data1 === null || (dataType1 == 'string' && data1 && data1 == +data1 && !(data1 % 1))) coerced1 = +data1; | ||
|  |                 else { | ||
|  |                   validate.errors = [{ | ||
|  |                     keyword: 'type', | ||
|  |                     dataPath: (dataPath || '') + '.requestTimeout', | ||
|  |                     schemaPath: '#/properties/requestTimeout/type', | ||
|  |                     params: { | ||
|  |                       type: 'integer' | ||
|  |                     }, | ||
|  |                     message: 'should be integer' | ||
|  |                   }]; | ||
|  |                   return false; | ||
|  |                 } | ||
|  |                 if (coerced1 !== undefined) { | ||
|  |                   data1 = coerced1; | ||
|  |                   data['requestTimeout'] = coerced1; | ||
|  |                 } | ||
|  |               } | ||
|  |               var valid1 = errors === errs_1; | ||
|  |               if (valid1) { | ||
|  |                 var data1 = data.bodyLimit; | ||
|  |                 var errs_1 = errors; | ||
|  |                 if ((typeof data1 !== "number" || (data1 % 1) || data1 !== data1)) { | ||
|  |                   var dataType1 = typeof data1; | ||
|  |                   var coerced1 = undefined; | ||
|  |                   if (coerced1 !== undefined); | ||
|  |                   else if (dataType1 == 'boolean' || data1 === null || (dataType1 == 'string' && data1 && data1 == +data1 && !(data1 % 1))) coerced1 = +data1; | ||
|  |                   else { | ||
|  |                     validate.errors = [{ | ||
|  |                       keyword: 'type', | ||
|  |                       dataPath: (dataPath || '') + '.bodyLimit', | ||
|  |                       schemaPath: '#/properties/bodyLimit/type', | ||
|  |                       params: { | ||
|  |                         type: 'integer' | ||
|  |                       }, | ||
|  |                       message: 'should be integer' | ||
|  |                     }]; | ||
|  |                     return false; | ||
|  |                   } | ||
|  |                   if (coerced1 !== undefined) { | ||
|  |                     data1 = coerced1; | ||
|  |                     data['bodyLimit'] = coerced1; | ||
|  |                   } | ||
|  |                 } | ||
|  |                 var valid1 = errors === errs_1; | ||
|  |                 if (valid1) { | ||
|  |                   var data1 = data.caseSensitive; | ||
|  |                   var errs_1 = errors; | ||
|  |                   if (typeof data1 !== "boolean") { | ||
|  |                     var dataType1 = typeof data1; | ||
|  |                     var coerced1 = undefined; | ||
|  |                     if (coerced1 !== undefined); | ||
|  |                     else if (data1 === 'false' || data1 === 0 || data1 === null) coerced1 = false; | ||
|  |                     else if (data1 === 'true' || data1 === 1) coerced1 = true; | ||
|  |                     else { | ||
|  |                       validate.errors = [{ | ||
|  |                         keyword: 'type', | ||
|  |                         dataPath: (dataPath || '') + '.caseSensitive', | ||
|  |                         schemaPath: '#/properties/caseSensitive/type', | ||
|  |                         params: { | ||
|  |                           type: 'boolean' | ||
|  |                         }, | ||
|  |                         message: 'should be boolean' | ||
|  |                       }]; | ||
|  |                       return false; | ||
|  |                     } | ||
|  |                     if (coerced1 !== undefined) { | ||
|  |                       data1 = coerced1; | ||
|  |                       data['caseSensitive'] = coerced1; | ||
|  |                     } | ||
|  |                   } | ||
|  |                   var valid1 = errors === errs_1; | ||
|  |                   if (valid1) { | ||
|  |                     var data1 = data.http2; | ||
|  |                     if (data1 === undefined) { | ||
|  |                       valid1 = true; | ||
|  |                     } else { | ||
|  |                       var errs_1 = errors; | ||
|  |                       if (typeof data1 !== "boolean") { | ||
|  |                         var dataType1 = typeof data1; | ||
|  |                         var coerced1 = undefined; | ||
|  |                         if (coerced1 !== undefined); | ||
|  |                         else if (data1 === 'false' || data1 === 0 || data1 === null) coerced1 = false; | ||
|  |                         else if (data1 === 'true' || data1 === 1) coerced1 = true; | ||
|  |                         else { | ||
|  |                           validate.errors = [{ | ||
|  |                             keyword: 'type', | ||
|  |                             dataPath: (dataPath || '') + '.http2', | ||
|  |                             schemaPath: '#/properties/http2/type', | ||
|  |                             params: { | ||
|  |                               type: 'boolean' | ||
|  |                             }, | ||
|  |                             message: 'should be boolean' | ||
|  |                           }]; | ||
|  |                           return false; | ||
|  |                         } | ||
|  |                         if (coerced1 !== undefined) { | ||
|  |                           data1 = coerced1; | ||
|  |                           data['http2'] = coerced1; | ||
|  |                         } | ||
|  |                       } | ||
|  |                       var valid1 = errors === errs_1; | ||
|  |                     } | ||
|  |                     if (valid1) { | ||
|  |                       var data1 = data.https; | ||
|  |                       if (data1 === undefined) { | ||
|  |                         valid1 = true; | ||
|  |                       } else { | ||
|  |                         var errs_1 = errors; | ||
|  |                         var errs__1 = errors; | ||
|  |                         var valid1 = true; | ||
|  |                         var errs_2 = errors; | ||
|  |                         var errs__2 = errors; | ||
|  |                         var errs_3 = errors; | ||
|  |                         var errs__3 = errors, | ||
|  |                           prevValid3 = false, | ||
|  |                           valid3 = false, | ||
|  |                           passingSchemas3 = null; | ||
|  |                         var errs_4 = errors; | ||
|  |                         if (typeof data1 !== "boolean") { | ||
|  |                           var dataType4 = typeof data1; | ||
|  |                           var coerced4 = undefined; | ||
|  |                           if (coerced4 !== undefined); | ||
|  |                           else if (data1 === 'false' || data1 === 0 || data1 === null) coerced4 = false; | ||
|  |                           else if (data1 === 'true' || data1 === 1) coerced4 = true; | ||
|  |                           else { | ||
|  |                             var err = {}; | ||
|  |                             if (vErrors === null) vErrors = [err]; | ||
|  |                             else vErrors.push(err); | ||
|  |                             errors++; | ||
|  |                           } | ||
|  |                           if (coerced4 !== undefined) { | ||
|  |                             data1 = coerced4; | ||
|  |                             data['https'] = coerced4; | ||
|  |                           } | ||
|  |                         } | ||
|  |                         var valid4 = errors === errs_4; | ||
|  |                         if (valid4) { | ||
|  |                           valid3 = prevValid3 = true; | ||
|  |                           passingSchemas3 = 0; | ||
|  |                         } | ||
|  |                         var errs_4 = errors; | ||
|  |                         if (data1 !== null) { | ||
|  |                           var dataType4 = typeof data1; | ||
|  |                           var coerced4 = undefined; | ||
|  |                           if (coerced4 !== undefined); | ||
|  |                           else if (data1 === '' || data1 === 0 || data1 === false) coerced4 = null; | ||
|  |                           else { | ||
|  |                             var err = {}; | ||
|  |                             if (vErrors === null) vErrors = [err]; | ||
|  |                             else vErrors.push(err); | ||
|  |                             errors++; | ||
|  |                           } | ||
|  |                           if (coerced4 !== undefined) { | ||
|  |                             data1 = coerced4; | ||
|  |                             data['https'] = coerced4; | ||
|  |                           } | ||
|  |                         } | ||
|  |                         var valid4 = errors === errs_4; | ||
|  |                         if (valid4 && prevValid3) { | ||
|  |                           valid3 = false; | ||
|  |                           passingSchemas3 = [passingSchemas3, 1]; | ||
|  |                         } else { | ||
|  |                           if (valid4) { | ||
|  |                             valid3 = prevValid3 = true; | ||
|  |                             passingSchemas3 = 1; | ||
|  |                           } | ||
|  |                           var errs_4 = errors; | ||
|  |                           if ((data1 && typeof data1 === "object" && !Array.isArray(data1))) { | ||
|  |                             if (true) { | ||
|  |                               var errs__4 = errors; | ||
|  |                               var valid5 = true; | ||
|  |                               for (var key4 in data1) { | ||
|  |                                 var isAdditional4 = !(false || key4 == 'allowHTTP1'); | ||
|  |                                 if (isAdditional4) { | ||
|  |                                   delete data1[key4]; | ||
|  |                                 } | ||
|  |                               } | ||
|  |                               if (valid5) { | ||
|  |                                 var data2 = data1.allowHTTP1; | ||
|  |                                 if (data2 === undefined) { | ||
|  |                                   valid5 = false; | ||
|  |                                   var err = {}; | ||
|  |                                   if (vErrors === null) vErrors = [err]; | ||
|  |                                   else vErrors.push(err); | ||
|  |                                   errors++; | ||
|  |                                 } else { | ||
|  |                                   var errs_5 = errors; | ||
|  |                                   if (typeof data2 !== "boolean") { | ||
|  |                                     var dataType5 = typeof data2; | ||
|  |                                     var coerced5 = undefined; | ||
|  |                                     if (coerced5 !== undefined); | ||
|  |                                     else if (data2 === 'false' || data2 === 0 || data2 === null) coerced5 = false; | ||
|  |                                     else if (data2 === 'true' || data2 === 1) coerced5 = true; | ||
|  |                                     else { | ||
|  |                                       var err = {}; | ||
|  |                                       if (vErrors === null) vErrors = [err]; | ||
|  |                                       else vErrors.push(err); | ||
|  |                                       errors++; | ||
|  |                                     } | ||
|  |                                     if (coerced5 !== undefined) { | ||
|  |                                       data2 = coerced5; | ||
|  |                                       data1['allowHTTP1'] = coerced5; | ||
|  |                                     } | ||
|  |                                   } | ||
|  |                                   var valid5 = errors === errs_5; | ||
|  |                                 } | ||
|  |                                 if (valid5) {} | ||
|  |                               } | ||
|  |                               if (errs__4 == errors) {} | ||
|  |                             } | ||
|  |                           } else { | ||
|  |                             var err = {}; | ||
|  |                             if (vErrors === null) vErrors = [err]; | ||
|  |                             else vErrors.push(err); | ||
|  |                             errors++; | ||
|  |                           } | ||
|  |                           if (errors === errs_4) {} | ||
|  |                           var valid4 = errors === errs_4; | ||
|  |                           if (valid4 && prevValid3) { | ||
|  |                             valid3 = false; | ||
|  |                             passingSchemas3 = [passingSchemas3, 2]; | ||
|  |                           } else { | ||
|  |                             if (valid4) { | ||
|  |                               valid3 = prevValid3 = true; | ||
|  |                               passingSchemas3 = 2; | ||
|  |                             } | ||
|  |                           } | ||
|  |                         } | ||
|  |                         if (!valid3) { | ||
|  |                           var err = {}; | ||
|  |                           if (vErrors === null) vErrors = [err]; | ||
|  |                           else vErrors.push(err); | ||
|  |                           errors++; | ||
|  |                         } else { | ||
|  |                           errors = errs__3; | ||
|  |                           if (vErrors !== null) { | ||
|  |                             if (errs__3) vErrors.length = errs__3; | ||
|  |                             else vErrors = null; | ||
|  |                           } | ||
|  |                         } | ||
|  |                         if (errors === errs_3) {} | ||
|  |                         var valid3 = errors === errs_3; | ||
|  |                         if (valid3) { | ||
|  |                           var err = {}; | ||
|  |                           if (vErrors === null) vErrors = [err]; | ||
|  |                           else vErrors.push(err); | ||
|  |                           errors++; | ||
|  |                         } else { | ||
|  |                           errors = errs__2; | ||
|  |                           if (vErrors !== null) { | ||
|  |                             if (errs__2) vErrors.length = errs__2; | ||
|  |                             else vErrors = null; | ||
|  |                           } | ||
|  |                         } | ||
|  |                         if (errors === errs_2) {} | ||
|  |                         var valid2 = errors === errs_2; | ||
|  |                         errors = errs__1; | ||
|  |                         if (vErrors !== null) { | ||
|  |                           if (errs__1) vErrors.length = errs__1; | ||
|  |                           else vErrors = null; | ||
|  |                         } | ||
|  |                         if (valid2) { | ||
|  |                           var errs_2 = errors; | ||
|  |                           customRule0.errors = null; | ||
|  |                           var errs__2 = errors; | ||
|  |                           var valid2; | ||
|  |                           valid2 = customRule0.call(self, validate.schema.properties.https.then.setDefaultValue, data1, validate.schema.properties.https.then, (dataPath || '') + '.https', data, 'https', rootData); | ||
|  |                           if (data) data1 = data['https']; | ||
|  |                           if (!valid2) { | ||
|  |                             validate.errors = [{ | ||
|  |                               keyword: 'setDefaultValue', | ||
|  |                               dataPath: (dataPath || '') + '.https', | ||
|  |                               schemaPath: '#/properties/https/then/setDefaultValue', | ||
|  |                               params: { | ||
|  |                                 keyword: 'setDefaultValue' | ||
|  |                               }, | ||
|  |                               message: 'should pass "setDefaultValue" keyword validation' | ||
|  |                             }]; | ||
|  |                             return false; | ||
|  |                           } else {} | ||
|  |                           if (errors === errs_2) {} | ||
|  |                           var valid2 = errors === errs_2; | ||
|  |                           valid1 = valid2; | ||
|  |                         } | ||
|  |                         if (!valid1) { | ||
|  |                           var err = { | ||
|  |                             keyword: 'if', | ||
|  |                             dataPath: (dataPath || '') + '.https', | ||
|  |                             schemaPath: '#/properties/https/if', | ||
|  |                             params: { | ||
|  |                               failingKeyword: 'then' | ||
|  |                             }, | ||
|  |                             message: 'should match "' + 'then' + '" schema' | ||
|  |                           }; | ||
|  |                           if (vErrors === null) vErrors = [err]; | ||
|  |                           else vErrors.push(err); | ||
|  |                           errors++; | ||
|  |                           validate.errors = vErrors; | ||
|  |                           return false; | ||
|  |                         } else {} | ||
|  |                         if (errors === errs_1) {} | ||
|  |                         var valid1 = errors === errs_1; | ||
|  |                       } | ||
|  |                       if (valid1) { | ||
|  |                         var data1 = data.ignoreTrailingSlash; | ||
|  |                         var errs_1 = errors; | ||
|  |                         if (typeof data1 !== "boolean") { | ||
|  |                           var dataType1 = typeof data1; | ||
|  |                           var coerced1 = undefined; | ||
|  |                           if (coerced1 !== undefined); | ||
|  |                           else if (data1 === 'false' || data1 === 0 || data1 === null) coerced1 = false; | ||
|  |                           else if (data1 === 'true' || data1 === 1) coerced1 = true; | ||
|  |                           else { | ||
|  |                             validate.errors = [{ | ||
|  |                               keyword: 'type', | ||
|  |                               dataPath: (dataPath || '') + '.ignoreTrailingSlash', | ||
|  |                               schemaPath: '#/properties/ignoreTrailingSlash/type', | ||
|  |                               params: { | ||
|  |                                 type: 'boolean' | ||
|  |                               }, | ||
|  |                               message: 'should be boolean' | ||
|  |                             }]; | ||
|  |                             return false; | ||
|  |                           } | ||
|  |                           if (coerced1 !== undefined) { | ||
|  |                             data1 = coerced1; | ||
|  |                             data['ignoreTrailingSlash'] = coerced1; | ||
|  |                           } | ||
|  |                         } | ||
|  |                         var valid1 = errors === errs_1; | ||
|  |                         if (valid1) { | ||
|  |                           var data1 = data.disableRequestLogging; | ||
|  |                           var errs_1 = errors; | ||
|  |                           if (typeof data1 !== "boolean") { | ||
|  |                             var dataType1 = typeof data1; | ||
|  |                             var coerced1 = undefined; | ||
|  |                             if (coerced1 !== undefined); | ||
|  |                             else if (data1 === 'false' || data1 === 0 || data1 === null) coerced1 = false; | ||
|  |                             else if (data1 === 'true' || data1 === 1) coerced1 = true; | ||
|  |                             else { | ||
|  |                               validate.errors = [{ | ||
|  |                                 keyword: 'type', | ||
|  |                                 dataPath: (dataPath || '') + '.disableRequestLogging', | ||
|  |                                 schemaPath: '#/properties/disableRequestLogging/type', | ||
|  |                                 params: { | ||
|  |                                   type: 'boolean' | ||
|  |                                 }, | ||
|  |                                 message: 'should be boolean' | ||
|  |                               }]; | ||
|  |                               return false; | ||
|  |                             } | ||
|  |                             if (coerced1 !== undefined) { | ||
|  |                               data1 = coerced1; | ||
|  |                               data['disableRequestLogging'] = coerced1; | ||
|  |                             } | ||
|  |                           } | ||
|  |                           var valid1 = errors === errs_1; | ||
|  |                           if (valid1) { | ||
|  |                             var data1 = data.jsonShorthand; | ||
|  |                             var errs_1 = errors; | ||
|  |                             if (typeof data1 !== "boolean") { | ||
|  |                               var dataType1 = typeof data1; | ||
|  |                               var coerced1 = undefined; | ||
|  |                               if (coerced1 !== undefined); | ||
|  |                               else if (data1 === 'false' || data1 === 0 || data1 === null) coerced1 = false; | ||
|  |                               else if (data1 === 'true' || data1 === 1) coerced1 = true; | ||
|  |                               else { | ||
|  |                                 validate.errors = [{ | ||
|  |                                   keyword: 'type', | ||
|  |                                   dataPath: (dataPath || '') + '.jsonShorthand', | ||
|  |                                   schemaPath: '#/properties/jsonShorthand/type', | ||
|  |                                   params: { | ||
|  |                                     type: 'boolean' | ||
|  |                                   }, | ||
|  |                                   message: 'should be boolean' | ||
|  |                                 }]; | ||
|  |                                 return false; | ||
|  |                               } | ||
|  |                               if (coerced1 !== undefined) { | ||
|  |                                 data1 = coerced1; | ||
|  |                                 data['jsonShorthand'] = coerced1; | ||
|  |                               } | ||
|  |                             } | ||
|  |                             var valid1 = errors === errs_1; | ||
|  |                             if (valid1) { | ||
|  |                               var data1 = data.maxParamLength; | ||
|  |                               var errs_1 = errors; | ||
|  |                               if ((typeof data1 !== "number" || (data1 % 1) || data1 !== data1)) { | ||
|  |                                 var dataType1 = typeof data1; | ||
|  |                                 var coerced1 = undefined; | ||
|  |                                 if (coerced1 !== undefined); | ||
|  |                                 else if (dataType1 == 'boolean' || data1 === null || (dataType1 == 'string' && data1 && data1 == +data1 && !(data1 % 1))) coerced1 = +data1; | ||
|  |                                 else { | ||
|  |                                   validate.errors = [{ | ||
|  |                                     keyword: 'type', | ||
|  |                                     dataPath: (dataPath || '') + '.maxParamLength', | ||
|  |                                     schemaPath: '#/properties/maxParamLength/type', | ||
|  |                                     params: { | ||
|  |                                       type: 'integer' | ||
|  |                                     }, | ||
|  |                                     message: 'should be integer' | ||
|  |                                   }]; | ||
|  |                                   return false; | ||
|  |                                 } | ||
|  |                                 if (coerced1 !== undefined) { | ||
|  |                                   data1 = coerced1; | ||
|  |                                   data['maxParamLength'] = coerced1; | ||
|  |                                 } | ||
|  |                               } | ||
|  |                               var valid1 = errors === errs_1; | ||
|  |                               if (valid1) { | ||
|  |                                 var data1 = data.onProtoPoisoning; | ||
|  |                                 var errs_1 = errors; | ||
|  |                                 if (typeof data1 !== "string") { | ||
|  |                                   var dataType1 = typeof data1; | ||
|  |                                   var coerced1 = undefined; | ||
|  |                                   if (coerced1 !== undefined); | ||
|  |                                   else if (dataType1 == 'number' || dataType1 == 'boolean') coerced1 = '' + data1; | ||
|  |                                   else if (data1 === null) coerced1 = ''; | ||
|  |                                   else { | ||
|  |                                     validate.errors = [{ | ||
|  |                                       keyword: 'type', | ||
|  |                                       dataPath: (dataPath || '') + '.onProtoPoisoning', | ||
|  |                                       schemaPath: '#/properties/onProtoPoisoning/type', | ||
|  |                                       params: { | ||
|  |                                         type: 'string' | ||
|  |                                       }, | ||
|  |                                       message: 'should be string' | ||
|  |                                     }]; | ||
|  |                                     return false; | ||
|  |                                   } | ||
|  |                                   if (coerced1 !== undefined) { | ||
|  |                                     data1 = coerced1; | ||
|  |                                     data['onProtoPoisoning'] = coerced1; | ||
|  |                                   } | ||
|  |                                 } | ||
|  |                                 var valid1 = errors === errs_1; | ||
|  |                                 if (valid1) { | ||
|  |                                   var data1 = data.onConstructorPoisoning; | ||
|  |                                   var errs_1 = errors; | ||
|  |                                   if (typeof data1 !== "string") { | ||
|  |                                     var dataType1 = typeof data1; | ||
|  |                                     var coerced1 = undefined; | ||
|  |                                     if (coerced1 !== undefined); | ||
|  |                                     else if (dataType1 == 'number' || dataType1 == 'boolean') coerced1 = '' + data1; | ||
|  |                                     else if (data1 === null) coerced1 = ''; | ||
|  |                                     else { | ||
|  |                                       validate.errors = [{ | ||
|  |                                         keyword: 'type', | ||
|  |                                         dataPath: (dataPath || '') + '.onConstructorPoisoning', | ||
|  |                                         schemaPath: '#/properties/onConstructorPoisoning/type', | ||
|  |                                         params: { | ||
|  |                                           type: 'string' | ||
|  |                                         }, | ||
|  |                                         message: 'should be string' | ||
|  |                                       }]; | ||
|  |                                       return false; | ||
|  |                                     } | ||
|  |                                     if (coerced1 !== undefined) { | ||
|  |                                       data1 = coerced1; | ||
|  |                                       data['onConstructorPoisoning'] = coerced1; | ||
|  |                                     } | ||
|  |                                   } | ||
|  |                                   var valid1 = errors === errs_1; | ||
|  |                                   if (valid1) { | ||
|  |                                     var data1 = data.pluginTimeout; | ||
|  |                                     var errs_1 = errors; | ||
|  |                                     if ((typeof data1 !== "number" || (data1 % 1) || data1 !== data1)) { | ||
|  |                                       var dataType1 = typeof data1; | ||
|  |                                       var coerced1 = undefined; | ||
|  |                                       if (coerced1 !== undefined); | ||
|  |                                       else if (dataType1 == 'boolean' || data1 === null || (dataType1 == 'string' && data1 && data1 == +data1 && !(data1 % 1))) coerced1 = +data1; | ||
|  |                                       else { | ||
|  |                                         validate.errors = [{ | ||
|  |                                           keyword: 'type', | ||
|  |                                           dataPath: (dataPath || '') + '.pluginTimeout', | ||
|  |                                           schemaPath: '#/properties/pluginTimeout/type', | ||
|  |                                           params: { | ||
|  |                                             type: 'integer' | ||
|  |                                           }, | ||
|  |                                           message: 'should be integer' | ||
|  |                                         }]; | ||
|  |                                         return false; | ||
|  |                                       } | ||
|  |                                       if (coerced1 !== undefined) { | ||
|  |                                         data1 = coerced1; | ||
|  |                                         data['pluginTimeout'] = coerced1; | ||
|  |                                       } | ||
|  |                                     } | ||
|  |                                     var valid1 = errors === errs_1; | ||
|  |                                     if (valid1) { | ||
|  |                                       var data1 = data.requestIdHeader; | ||
|  |                                       var errs_1 = errors; | ||
|  |                                       if (typeof data1 !== "string") { | ||
|  |                                         var dataType1 = typeof data1; | ||
|  |                                         var coerced1 = undefined; | ||
|  |                                         if (coerced1 !== undefined); | ||
|  |                                         else if (dataType1 == 'number' || dataType1 == 'boolean') coerced1 = '' + data1; | ||
|  |                                         else if (data1 === null) coerced1 = ''; | ||
|  |                                         else { | ||
|  |                                           validate.errors = [{ | ||
|  |                                             keyword: 'type', | ||
|  |                                             dataPath: (dataPath || '') + '.requestIdHeader', | ||
|  |                                             schemaPath: '#/properties/requestIdHeader/type', | ||
|  |                                             params: { | ||
|  |                                               type: 'string' | ||
|  |                                             }, | ||
|  |                                             message: 'should be string' | ||
|  |                                           }]; | ||
|  |                                           return false; | ||
|  |                                         } | ||
|  |                                         if (coerced1 !== undefined) { | ||
|  |                                           data1 = coerced1; | ||
|  |                                           data['requestIdHeader'] = coerced1; | ||
|  |                                         } | ||
|  |                                       } | ||
|  |                                       var valid1 = errors === errs_1; | ||
|  |                                       if (valid1) { | ||
|  |                                         var data1 = data.requestIdLogLabel; | ||
|  |                                         var errs_1 = errors; | ||
|  |                                         if (typeof data1 !== "string") { | ||
|  |                                           var dataType1 = typeof data1; | ||
|  |                                           var coerced1 = undefined; | ||
|  |                                           if (coerced1 !== undefined); | ||
|  |                                           else if (dataType1 == 'number' || dataType1 == 'boolean') coerced1 = '' + data1; | ||
|  |                                           else if (data1 === null) coerced1 = ''; | ||
|  |                                           else { | ||
|  |                                             validate.errors = [{ | ||
|  |                                               keyword: 'type', | ||
|  |                                               dataPath: (dataPath || '') + '.requestIdLogLabel', | ||
|  |                                               schemaPath: '#/properties/requestIdLogLabel/type', | ||
|  |                                               params: { | ||
|  |                                                 type: 'string' | ||
|  |                                               }, | ||
|  |                                               message: 'should be string' | ||
|  |                                             }]; | ||
|  |                                             return false; | ||
|  |                                           } | ||
|  |                                           if (coerced1 !== undefined) { | ||
|  |                                             data1 = coerced1; | ||
|  |                                             data['requestIdLogLabel'] = coerced1; | ||
|  |                                           } | ||
|  |                                         } | ||
|  |                                         var valid1 = errors === errs_1; | ||
|  |                                         if (valid1) { | ||
|  |                                           var data1 = data.http2SessionTimeout; | ||
|  |                                           var errs_1 = errors; | ||
|  |                                           if ((typeof data1 !== "number" || (data1 % 1) || data1 !== data1)) { | ||
|  |                                             var dataType1 = typeof data1; | ||
|  |                                             var coerced1 = undefined; | ||
|  |                                             if (coerced1 !== undefined); | ||
|  |                                             else if (dataType1 == 'boolean' || data1 === null || (dataType1 == 'string' && data1 && data1 == +data1 && !(data1 % 1))) coerced1 = +data1; | ||
|  |                                             else { | ||
|  |                                               validate.errors = [{ | ||
|  |                                                 keyword: 'type', | ||
|  |                                                 dataPath: (dataPath || '') + '.http2SessionTimeout', | ||
|  |                                                 schemaPath: '#/properties/http2SessionTimeout/type', | ||
|  |                                                 params: { | ||
|  |                                                   type: 'integer' | ||
|  |                                                 }, | ||
|  |                                                 message: 'should be integer' | ||
|  |                                               }]; | ||
|  |                                               return false; | ||
|  |                                             } | ||
|  |                                             if (coerced1 !== undefined) { | ||
|  |                                               data1 = coerced1; | ||
|  |                                               data['http2SessionTimeout'] = coerced1; | ||
|  |                                             } | ||
|  |                                           } | ||
|  |                                           var valid1 = errors === errs_1; | ||
|  |                                           if (valid1) { | ||
|  |                                             var data1 = data.versioning; | ||
|  |                                             if (data1 === undefined) { | ||
|  |                                               valid1 = true; | ||
|  |                                             } else { | ||
|  |                                               var errs_1 = errors; | ||
|  |                                               if ((data1 && typeof data1 === "object" && !Array.isArray(data1))) { | ||
|  |                                                 var missing1; | ||
|  |                                                 if (((data1.storage === undefined) && (missing1 = '.storage')) || ((data1.deriveVersion === undefined) && (missing1 = '.deriveVersion'))) { | ||
|  |                                                   validate.errors = [{ | ||
|  |                                                     keyword: 'required', | ||
|  |                                                     dataPath: (dataPath || '') + '.versioning', | ||
|  |                                                     schemaPath: '#/properties/versioning/required', | ||
|  |                                                     params: { | ||
|  |                                                       missingProperty: '' + missing1 + '' | ||
|  |                                                     }, | ||
|  |                                                     message: 'should have required property \'' + missing1 + '\'' | ||
|  |                                                   }]; | ||
|  |                                                   return false; | ||
|  |                                                 } else { | ||
|  |                                                   var errs__1 = errors; | ||
|  |                                                   var valid2 = true; | ||
|  |                                                   for (var key1 in data1) { | ||
|  |                                                     var isAdditional1 = !(false || key1 == 'storage' || key1 == 'deriveVersion'); | ||
|  |                                                     if (isAdditional1) {} | ||
|  |                                                   } | ||
|  |                                                   if (valid2) { | ||
|  |                                                     if (valid2) { | ||
|  |                                                       if (valid2) {} | ||
|  |                                                     } | ||
|  |                                                   } | ||
|  |                                                   if (errs__1 == errors) {} | ||
|  |                                                 } | ||
|  |                                               } else { | ||
|  |                                                 validate.errors = [{ | ||
|  |                                                   keyword: 'type', | ||
|  |                                                   dataPath: (dataPath || '') + '.versioning', | ||
|  |                                                   schemaPath: '#/properties/versioning/type', | ||
|  |                                                   params: { | ||
|  |                                                     type: 'object' | ||
|  |                                                   }, | ||
|  |                                                   message: 'should be object' | ||
|  |                                                 }]; | ||
|  |                                                 return false; | ||
|  |                                               } | ||
|  |                                               if (errors === errs_1) {} | ||
|  |                                               var valid1 = errors === errs_1; | ||
|  |                                             } | ||
|  |                                             if (valid1) { | ||
|  |                                               var data1 = data.constraints; | ||
|  |                                               if (data1 === undefined) { | ||
|  |                                                 valid1 = true; | ||
|  |                                               } else { | ||
|  |                                                 var errs_1 = errors; | ||
|  |                                                 if ((data1 && typeof data1 === "object" && !Array.isArray(data1))) { | ||
|  |                                                   var errs__1 = errors; | ||
|  |                                                   var valid2 = true; | ||
|  |                                                   for (var key1 in data1) { | ||
|  |                                                     var data2 = data1[key1]; | ||
|  |                                                     var errs_2 = errors; | ||
|  |                                                     if ((data2 && typeof data2 === "object" && !Array.isArray(data2))) { | ||
|  |                                                       var missing2; | ||
|  |                                                       if (((data2.storage === undefined) && (missing2 = '.storage')) || ((data2.validate === undefined) && (missing2 = '.validate')) || ((data2.deriveConstraint === undefined) && (missing2 = '.deriveConstraint'))) { | ||
|  |                                                         validate.errors = [{ | ||
|  |                                                           keyword: 'required', | ||
|  |                                                           dataPath: (dataPath || '') + '.constraints[\'' + key1 + '\']', | ||
|  |                                                           schemaPath: '#/properties/constraints/additionalProperties/required', | ||
|  |                                                           params: { | ||
|  |                                                             missingProperty: '' + missing2 + '' | ||
|  |                                                           }, | ||
|  |                                                           message: 'should have required property \'' + missing2 + '\'' | ||
|  |                                                         }]; | ||
|  |                                                         return false; | ||
|  |                                                       } else { | ||
|  |                                                         var errs__2 = errors; | ||
|  |                                                         var valid3 = true; | ||
|  |                                                         for (var key2 in data2) { | ||
|  |                                                           var isAdditional2 = !(false || key2 == 'name' || key2 == 'storage' || key2 == 'validate' || key2 == 'deriveConstraint'); | ||
|  |                                                           if (isAdditional2) {} | ||
|  |                                                         } | ||
|  |                                                         if (valid3) { | ||
|  |                                                           var data3 = data2.name; | ||
|  |                                                           if (data3 === undefined) { | ||
|  |                                                             valid3 = false; | ||
|  |                                                             validate.errors = [{ | ||
|  |                                                               keyword: 'required', | ||
|  |                                                               dataPath: (dataPath || '') + '.constraints[\'' + key1 + '\']', | ||
|  |                                                               schemaPath: '#/properties/constraints/additionalProperties/required', | ||
|  |                                                               params: { | ||
|  |                                                                 missingProperty: 'name' | ||
|  |                                                               }, | ||
|  |                                                               message: 'should have required property \'name\'' | ||
|  |                                                             }]; | ||
|  |                                                             return false; | ||
|  |                                                           } else { | ||
|  |                                                             var errs_3 = errors; | ||
|  |                                                             if (typeof data3 !== "string") { | ||
|  |                                                               var dataType3 = typeof data3; | ||
|  |                                                               var coerced3 = undefined; | ||
|  |                                                               if (coerced3 !== undefined); | ||
|  |                                                               else if (dataType3 == 'number' || dataType3 == 'boolean') coerced3 = '' + data3; | ||
|  |                                                               else if (data3 === null) coerced3 = ''; | ||
|  |                                                               else { | ||
|  |                                                                 validate.errors = [{ | ||
|  |                                                                   keyword: 'type', | ||
|  |                                                                   dataPath: (dataPath || '') + '.constraints[\'' + key1 + '\'].name', | ||
|  |                                                                   schemaPath: '#/properties/constraints/additionalProperties/properties/name/type', | ||
|  |                                                                   params: { | ||
|  |                                                                     type: 'string' | ||
|  |                                                                   }, | ||
|  |                                                                   message: 'should be string' | ||
|  |                                                                 }]; | ||
|  |                                                                 return false; | ||
|  |                                                               } | ||
|  |                                                               if (coerced3 !== undefined) { | ||
|  |                                                                 data3 = coerced3; | ||
|  |                                                                 data2['name'] = coerced3; | ||
|  |                                                               } | ||
|  |                                                             } | ||
|  |                                                             var valid3 = errors === errs_3; | ||
|  |                                                           } | ||
|  |                                                           if (valid3) { | ||
|  |                                                             if (valid3) { | ||
|  |                                                               if (valid3) { | ||
|  |                                                                 if (valid3) {} | ||
|  |                                                               } | ||
|  |                                                             } | ||
|  |                                                           } | ||
|  |                                                         } | ||
|  |                                                         if (errs__2 == errors) {} | ||
|  |                                                       } | ||
|  |                                                     } else { | ||
|  |                                                       validate.errors = [{ | ||
|  |                                                         keyword: 'type', | ||
|  |                                                         dataPath: (dataPath || '') + '.constraints[\'' + key1 + '\']', | ||
|  |                                                         schemaPath: '#/properties/constraints/additionalProperties/type', | ||
|  |                                                         params: { | ||
|  |                                                           type: 'object' | ||
|  |                                                         }, | ||
|  |                                                         message: 'should be object' | ||
|  |                                                       }]; | ||
|  |                                                       return false; | ||
|  |                                                     } | ||
|  |                                                     if (errors === errs_2) {} | ||
|  |                                                     var valid2 = errors === errs_2; | ||
|  |                                                     if (!valid2) break; | ||
|  |                                                   } | ||
|  |                                                   if (valid2) {} | ||
|  |                                                   if (errs__1 == errors) {} | ||
|  |                                                 } else { | ||
|  |                                                   validate.errors = [{ | ||
|  |                                                     keyword: 'type', | ||
|  |                                                     dataPath: (dataPath || '') + '.constraints', | ||
|  |                                                     schemaPath: '#/properties/constraints/type', | ||
|  |                                                     params: { | ||
|  |                                                       type: 'object' | ||
|  |                                                     }, | ||
|  |                                                     message: 'should be object' | ||
|  |                                                   }]; | ||
|  |                                                   return false; | ||
|  |                                                 } | ||
|  |                                                 if (errors === errs_1) {} | ||
|  |                                                 var valid1 = errors === errs_1; | ||
|  |                                               } | ||
|  |                                               if (valid1) {} | ||
|  |                                             } | ||
|  |                                           } | ||
|  |                                         } | ||
|  |                                       } | ||
|  |                                     } | ||
|  |                                   } | ||
|  |                                 } | ||
|  |                               } | ||
|  |                             } | ||
|  |                           } | ||
|  |                         } | ||
|  |                       } | ||
|  |                     } | ||
|  |                   } | ||
|  |                 } | ||
|  |               } | ||
|  |             } | ||
|  |           } | ||
|  |         } | ||
|  |       } | ||
|  |       if (errs__0 == errors) {} | ||
|  |     } else { | ||
|  |       validate.errors = [{ | ||
|  |         keyword: 'type', | ||
|  |         dataPath: (dataPath || '') + "", | ||
|  |         schemaPath: '#/type', | ||
|  |         params: { | ||
|  |           type: 'object' | ||
|  |         }, | ||
|  |         message: 'should be object' | ||
|  |       }]; | ||
|  |       return false; | ||
|  |     } | ||
|  |     if (errors === 0) {} | ||
|  |     validate.errors = vErrors; | ||
|  |     return errors === 0; | ||
|  |   }; | ||
|  | })(); | ||
|  | validate.schema = { | ||
|  |   "type": "object", | ||
|  |   "additionalProperties": false, | ||
|  |   "properties": { | ||
|  |     "connectionTimeout": { | ||
|  |       "type": "integer", | ||
|  |       "default": 0 | ||
|  |     }, | ||
|  |     "keepAliveTimeout": { | ||
|  |       "type": "integer", | ||
|  |       "default": 5000 | ||
|  |     }, | ||
|  |     "maxRequestsPerSocket": { | ||
|  |       "type": "integer", | ||
|  |       "default": 0, | ||
|  |       "nullable": true | ||
|  |     }, | ||
|  |     "requestTimeout": { | ||
|  |       "type": "integer", | ||
|  |       "default": 0 | ||
|  |     }, | ||
|  |     "bodyLimit": { | ||
|  |       "type": "integer", | ||
|  |       "default": 1048576 | ||
|  |     }, | ||
|  |     "caseSensitive": { | ||
|  |       "type": "boolean", | ||
|  |       "default": true | ||
|  |     }, | ||
|  |     "http2": { | ||
|  |       "type": "boolean" | ||
|  |     }, | ||
|  |     "https": { | ||
|  |       "if": { | ||
|  |         "not": { | ||
|  |           "oneOf": [{ | ||
|  |             "type": "boolean" | ||
|  |           }, { | ||
|  |             "type": "null" | ||
|  |           }, { | ||
|  |             "type": "object", | ||
|  |             "additionalProperties": false, | ||
|  |             "required": ["allowHTTP1"], | ||
|  |             "properties": { | ||
|  |               "allowHTTP1": { | ||
|  |                 "type": "boolean" | ||
|  |               } | ||
|  |             } | ||
|  |           }] | ||
|  |         } | ||
|  |       }, | ||
|  |       "then": { | ||
|  |         "setDefaultValue": true | ||
|  |       } | ||
|  |     }, | ||
|  |     "ignoreTrailingSlash": { | ||
|  |       "type": "boolean", | ||
|  |       "default": false | ||
|  |     }, | ||
|  |     "disableRequestLogging": { | ||
|  |       "type": "boolean", | ||
|  |       "default": false | ||
|  |     }, | ||
|  |     "jsonShorthand": { | ||
|  |       "type": "boolean", | ||
|  |       "default": true | ||
|  |     }, | ||
|  |     "maxParamLength": { | ||
|  |       "type": "integer", | ||
|  |       "default": 100 | ||
|  |     }, | ||
|  |     "onProtoPoisoning": { | ||
|  |       "type": "string", | ||
|  |       "default": "error" | ||
|  |     }, | ||
|  |     "onConstructorPoisoning": { | ||
|  |       "type": "string", | ||
|  |       "default": "error" | ||
|  |     }, | ||
|  |     "pluginTimeout": { | ||
|  |       "type": "integer", | ||
|  |       "default": 10000 | ||
|  |     }, | ||
|  |     "requestIdHeader": { | ||
|  |       "type": "string", | ||
|  |       "default": "request-id" | ||
|  |     }, | ||
|  |     "requestIdLogLabel": { | ||
|  |       "type": "string", | ||
|  |       "default": "reqId" | ||
|  |     }, | ||
|  |     "http2SessionTimeout": { | ||
|  |       "type": "integer", | ||
|  |       "default": 5000 | ||
|  |     }, | ||
|  |     "versioning": { | ||
|  |       "type": "object", | ||
|  |       "additionalProperties": true, | ||
|  |       "required": ["storage", "deriveVersion"], | ||
|  |       "properties": { | ||
|  |         "storage": {}, | ||
|  |         "deriveVersion": {} | ||
|  |       } | ||
|  |     }, | ||
|  |     "constraints": { | ||
|  |       "type": "object", | ||
|  |       "additionalProperties": { | ||
|  |         "type": "object", | ||
|  |         "required": ["name", "storage", "validate", "deriveConstraint"], | ||
|  |         "additionalProperties": true, | ||
|  |         "properties": { | ||
|  |           "name": { | ||
|  |             "type": "string" | ||
|  |           }, | ||
|  |           "storage": {}, | ||
|  |           "validate": {}, | ||
|  |           "deriveConstraint": {} | ||
|  |         } | ||
|  |       } | ||
|  |     } | ||
|  |   } | ||
|  | }; | ||
|  | validate.errors = null; | ||
|  | module.exports = validate; | ||
|  | 
 | ||
|  | function customRule0 (schemaParamValue, validatedParamValue, validationSchemaObject, currentDataPath, validatedParamObject, validatedParam) { | ||
|  |   validatedParamObject[validatedParam] = schemaParamValue | ||
|  |   return true | ||
|  | } | ||
|  | 
 | ||
|  | module.exports.defaultInitOptions = {"connectionTimeout":0,"keepAliveTimeout":5000,"maxRequestsPerSocket":0,"requestTimeout":0,"bodyLimit":1048576,"caseSensitive":true,"disableRequestLogging":false,"jsonShorthand":true,"ignoreTrailingSlash":false,"maxParamLength":100,"onProtoPoisoning":"error","onConstructorPoisoning":"error","pluginTimeout":10000,"requestIdHeader":"request-id","requestIdLogLabel":"reqId","http2SessionTimeout":5000} |