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