Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
}
else if (o === 'parameters') {
// checked above
}
else if (o === 'servers') {
contextAppend(options, 'servers');
checkServers(op, options); // won't be here in converted definitions
options.context.pop();
}
else if (o === 'summary') {
should(pathItem.summary).have.type('string');
}
else if (o === 'description') {
should(pathItem.description).have.type('string');
}
else if (common.httpMethods.indexOf(o) >= 0) {
should(op).be.an.Object();
should(op).not.be.an.Array();
should(op).not.have.property('consumes');
should(op).not.have.property('produces');
should(op).not.have.property('schemes');
should(op).have.property('responses');
should(op.responses).not.be.undefined();
should(op.responses).be.an.Object();
should(op.responses).not.be.an.Array();
should(op.responses).not.be.empty();
if (typeof op.summary !== 'undefined') should(op.summary).have.type('string');
if (typeof op.description !== 'undefined') should(op.description).be.a.String();
if (typeof op.operationId !== 'undefined') {
should(op.operationId).be.a.String();
should(options.operationIds.indexOf(op.operationId)).be.exactly(-1,'operationIds must be unique ['+op.operationId+']');
options.operationIds.push(op.operationId);
delete path['x-trace'];
}
if (path && (path['x-summary']) && (typeof path['x-summary'] === 'string')) {
path.summary = path['x-summary'];
delete path['x-summary'];
}
if (path && (path['x-description']) && (typeof path['x-description'] === 'string')) {
path.description = path['x-description'];
delete path['x-description'];
}
if (path && (path['x-servers']) && (Array.isArray(path['x-servers']))) {
path.servers = path['x-servers'];
delete path['x-servers'];
}
for (let method in path) {
if ((common.httpMethods.indexOf(method) >= 0) || (method === 'x-amazon-apigateway-any-method')) {
let op = path[method];
if (op && op.parameters && Array.isArray(op.parameters)) {
if (path.parameters) {
for (let param of path.parameters) {
if (typeof param.$ref === 'string') {
fixParamRef(param, options);
param = resolveInternal(openapi, param.$ref);
}
let match = op.parameters.find(function (e, i, a) {
return ((e.name === param.name) && (e.in === param.in));
});
if (!match && ((param.in === 'formData') || (param.in === 'body') || (param.type === 'file'))) {
op = processParameter(param, op, path, method, p, openapi, options);
if (options.rbname && op[options.rbname] === '') {