manager.listServicesDetails(function(err, services) { if (err) { http.returnError(res, 500, err.message); return; } http.returnJson(res, 200, services); });
manager.getService(service, function(err, svc) { if (err) { http.returnError(res, 404, 'Service not found'); return; } res.connection.setTimeout(0); logFile = svc.getLogPath(); tailFile(logFile, bytesToRead, true, function(error, data, unsubscribe) { if (error) { return http.returnError(res, bytesToRead, error.message); } if (!headWritten) { res.writeHead(200, { 'Content-Type': 'text/plain', 'Connection': 'keep-alive' }); headWritten = true; } res.write(data); if (!listenersSet) { res.on('error', unsubscribe); req.on('error', unsubscribe); req.connection.on('end', unsubscribe); listenersSet = true; } }); });
svc.getDetails(function(err, details) { if (err) { http.returnError(res, 500, err.message); return; } http.returnJson(res, 200, details); });
control.bundles.addBundle(app, version, req, getSHA1, function(err) { if (err) { castHttp.returnError(res, err); } else { res.writeHead(204); res.end(); } });
enableService, function(err) { if (err) { http.returnError(res, 500, err.message); } else { http.returnJson(res, 200, { 'result': 'success' }); } });
deployment.upgradeInstance(instanceName, bundleVersion, function(err) { if (err) { http.returnError(res, 500, err.message); } else { http.returnJson(res, 200, { 'result': 'success' }); } });
tailFile(logFile, bytesToRead, false, function(error, data, unsubscribe) { if (error) { http.returnError(res, bytesToRead, error.message); return; } res.writeHead(200, { 'Content-Type': 'text/plain' }); res.end(data); });
deployment.getInstance(instanceName, function(err, instance) { if (err) { return http.returnError(res, 404, 'No such instance'); } instance.destroy(function() { http.returnJson(res, 200, { 'result': 'success' }); }); });
control.bundles.getBundle(app, version, function(err, bundleStream) { if (err) { castHttp.returnError(res, err); } else { res.writeHead(200, { 'Content-Type': 'application/octet-stream' }); bundleStream.pipe(res); } });
deployment.getInstance(instanceName, function(err, instance) { if (err) { return http.returnError(res, 404, 'No such instance'); } formatInstance(instance, function(err, instanceData) { if (err) { return http.returnError(res, 500, err.message); } http.returnJson(res, 200, instanceData); }); });
return function(req, res, next) { var paramName, rule, rulesLen, paramValue; var missingParams, errMsg; if (!validationRules || Object.keys(validationRules).length === 0) { next(); return; } for (paramName in validationRules) { rule = validationRules[paramName]; paramValue = req.param(paramName, null); if (rule['required'] && paramValue === null) { returnError(res, rule['required']['err_code'], rule['required']['err_msg']); return; } if (rule['length'] && paramValue.length !== rule['length']['value']) { returnError(res, rule['length']['err_code'], rule['length']['err_msg']); return; } if (rule['min_value'] && (parseInt(paramValue, 10) < rule['min_value']['value'])) { returnError(res, rule['min_value']['err_code'], rule['min_value']['err_msg']); return; } if (rule['max_value'] && (parseInt(paramValue, 10) > rule['max_value']['value'])) { returnError(res, rule['max_value']['err_code'], rule['max_value']['err_msg']); return; } if (rule['valid_values'] && paramValue && rule['valid_values']['value'].indexOf(paramValue) === -1) { returnError(res, rule['valid_values']['err_code'], rule['valid_values']['err_msg']); return; } } next(); };
function(err) { if (err) { castHttp.returnError(res, err); return; } castHttp.returnJson(res, 200, { 'available': availablePlugins, 'enabled': enabledPlugins }); });
async.map(instances, formatInstance, function(err, instanceList) { if (err) { return http.returnError(res, 500, err.message); } // Sort by name instanceList.sort(function(a, b) { return (b.name < a.name); }); http.returnJson(res, 200, instanceList); });
manager.getService(service, function(err, svc) { if (err) { http.returnError(res, 404, 'Service not found'); return; } svc.getDetails(function(err, details) { if (err) { http.returnError(res, 500, err.message); return; } http.returnJson(res, 200, details); }); });
manager.getService(service, function(err, svc) { if (err) { http.returnError(res, 404, 'Service not found'); return; } logFile = svc.getLogPath(); tailFile(logFile, bytesToRead, false, function(error, data, unsubscribe) { if (error) { http.returnError(res, bytesToRead, error.message); return; } res.writeHead(200, { 'Content-Type': 'text/plain' }); res.end(data); }); });
function removeBundle(req, res) { var app = req.params.app; var file = req.params.file; var version = bundles.getBundleVersion(app, file); if (!version) { castHttp.returnError(res, new InvalidPathError()); return; } control.bundles.removeBundle(app, version, function(err) { if (err) { castHttp.returnError(res, err); } else { res.writeHead(204); res.end(); } }); }
http.getParams(requiredParams, req, function(err, params) { if (err) { http.returnError(res, 400, err.message); return; } var bundleVersion = params.bundle_version; deployment.upgradeInstance(instanceName, bundleVersion, function(err) { if (err) { http.returnError(res, 500, err.message); } else { http.returnJson(res, 200, { 'result': 'success' }); } }); });
tailFile(logFile, bytesToRead, true, function(error, data, unsubscribe) { if (error) { return http.returnError(res, bytesToRead, error.message); } if (!headWritten) { res.writeHead(200, { 'Content-Type': 'text/plain', 'Connection': 'keep-alive' }); headWritten = true; } res.write(data); if (!listenersSet) { res.on('error', unsubscribe); req.on('error', unsubscribe); req.connection.on('end', unsubscribe); listenersSet = true; } });
manager.runAction(serviceName, action, function(err) { if (err) { if (err.errno === constants.ENOENT) { statusCode = 404; errMessage = 'Service does not exist'; } else { statusCode = 500; errMessage = err.message; } http.returnError(res, statusCode, errMessage); return; } http.returnJson(res, 200, { 'service': serviceName, 'method': action, 'result': 'success' }); });
function getBundle(req, res) { var app = req.params.app; var file = req.params.file; var version = bundles.getBundleVersion(app, file); if (!version) { castHttp.returnError(res, new InvalidPathError()); return; } control.bundles.getBundle(app, version, function(err, bundleStream) { if (err) { castHttp.returnError(res, err); } else { res.writeHead(200, { 'Content-Type': 'application/octet-stream' }); bundleStream.pipe(res); } }); }
http.getParams(requiredParams, req, function(err, params) { if (err) { return http.returnError(res, 400, err.message); } var bundleName = params.bundle_name; var bundleVersion = params.bundle_version; var enableService = params.enable_service; deployment.createInstance(instanceName, bundleName, bundleVersion, enableService, function(err) { if (err) { http.returnError(res, 500, err.message); } else { http.returnJson(res, 200, { 'result': 'success' }); } }); });
function addBundle(req, res) { var app = req.params.app; var file = req.params.file; var version = bundles.getBundleVersion(app, file); var getSHA1 = null; var err = null; if (!version) { castHttp.returnError(res, new InvalidPathError()); return; } if (req.headers['trailer'] === 'x-content-sha1') { getSHA1 = function(callback) { if (!req.trailers['x-content-sha1']) { err = new Error('Missing x-content-sha1 trailer'); err.responseCode = 400; callback(err); } else { callback(null, req.trailers['x-content-sha1']); } }; } else if (req.headers['x-content-sha1']) { getSHA1 = function(callback) { callback(null, req.headers['x-content-sha1']); }; } control.bundles.addBundle(app, version, req, getSHA1, function(err) { if (err) { castHttp.returnError(res, err); } else { res.writeHead(204); res.end(); } }); }
formatInstance(instance, function(err, instanceData) { if (err) { return http.returnError(res, 500, err.message); } http.returnJson(res, 200, instanceData); });
/** * 500 handler. */ function errorHandler(err, req, res) { httpUtil.returnError(res, err); }