in core/routemgmt/createApi/createApi.js [246:345]
function validateArgs(message) {
var tmpdoc;
if(!message) {
console.error('No message argument!');
return 'Internal error. A message parameter was not supplied.';
}
if (!message.gwUrl && !message.gwUrlV2) {
return 'gwUrl is required.';
}
if (!message.__ow_user) {
return 'A valid auth key is required.';
}
if(!message.apidoc) {
return 'apidoc is required.';
}
if (typeof message.apidoc == 'object') {
tmpdoc = message.apidoc;
} else if (typeof message.apidoc === 'string') {
try {
tmpdoc = JSON.parse(message.apidoc);
} catch (e) {
return 'apidoc field cannot be parsed. Ensure it is valid JSON.';
}
} else {
return 'apidoc field is of type ' + (typeof message.apidoc) + ' and should be a JSON object or a JSON string.';
}
if (!tmpdoc.namespace) {
return 'apidoc is missing the namespace field';
}
var tmpSwaggerDoc;
if(tmpdoc.swagger) {
if (tmpdoc.gatewayBasePath) {
return 'swagger and gatewayBasePath are mutually exclusive and cannot be specified together.';
}
if (typeof tmpdoc.swagger == 'object') {
tmpSwaggerDoc = tmpdoc.swagger;
} else if (typeof tmpdoc.swagger === 'string') {
try {
tmpSwaggerDoc = JSON.parse(tmpdoc.swagger);
} catch (e) {
return 'swagger field cannot be parsed. Ensure it is valid JSON.';
}
} else {
return 'swagger field is ' + (typeof tmpdoc.swagger) + ' and should be an object or a JSON string.';
}
console.log('Swagger JSON object: ', tmpSwaggerDoc);
if (!tmpSwaggerDoc.basePath) {
return 'swagger is missing the basePath field.';
}
if (!tmpSwaggerDoc.paths) {
return 'swagger is missing the paths field.';
}
if (!tmpSwaggerDoc.info) {
return 'swagger is missing the info field.';
}
} else {
if (!tmpdoc.gatewayBasePath) {
return 'apidoc is missing the gatewayBasePath field';
}
if (!tmpdoc.gatewayPath) {
return 'apidoc is missing the gatewayPath field';
}
if (!tmpdoc.gatewayMethod) {
return 'apidoc is missing the gatewayMethod field';
}
if (!tmpdoc.action) {
return 'apidoc is missing the action field.';
}
if (!tmpdoc.action.backendMethod) {
return 'action is missing the backendMethod field.';
}
if (!tmpdoc.action.backendUrl) {
return 'action is missing the backendUrl field.';
}
if (!tmpdoc.action.namespace) {
return 'action is missing the namespace field.';
}
if(!tmpdoc.action.name) {
return 'action is missing the name field.';
}
if (!tmpdoc.action.authkey) {
return 'action is missing the authkey field.';
}
}
return '';
}