Example #1
0
 manager.listServicesDetails(function(err, services) {
   if (err) {
     http.returnError(res, 500, err.message);
     return;
   }
   http.returnJson(res, 200, services);
 });
Example #2
0
  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;
      }
    });
  });
Example #3
0
    svc.getDetails(function(err, details) {
      if (err) {
        http.returnError(res, 500, err.message);
        return;
      }

      http.returnJson(res, 200, details);
    });
Example #4
0
 control.bundles.addBundle(app, version, req, getSHA1, function(err) {
   if (err) {
     castHttp.returnError(res, err);
   } else {
     res.writeHead(204);
     res.end();
   }
 });
Example #5
0
                           enableService, function(err) {
   if (err) {
     http.returnError(res, 500, err.message);
   }
   else {
     http.returnJson(res, 200, {
       'result': 'success'
     });
   }
 });
Example #6
0
 deployment.upgradeInstance(instanceName, bundleVersion, function(err) {
   if (err) {
     http.returnError(res, 500, err.message);
   }
   else {
     http.returnJson(res, 200, {
       'result': 'success'
     });
   }
 });
Example #7
0
    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);
    });
Example #8
0
 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'
     });
   });
 });
Example #9
0
 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);
   }
 });
Example #10
0
 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();
  };
Example #12
0
  function(err) {
    if (err) {
      castHttp.returnError(res, err);
      return;
    }

    castHttp.returnJson(res, 200, {
      'available': availablePlugins,
      'enabled': enabledPlugins
    });

  });
Example #13
0
    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);
    });
Example #14
0
  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);
    });
  });
Example #15
0
  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);
    });
  });
Example #16
0
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();
    }
  });
}
Example #17
0
  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'
        });
      }
    });
  });
Example #18
0
    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;
      }
    });
Example #19
0
  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'
    });
  });
Example #20
0
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);
    }
  });
}
Example #21
0
  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'
        });
      }
    });
  });
Example #22
0
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();
    }
  });
}
Example #23
0
 formatInstance(instance, function(err, instanceData) {
   if (err) {
     return http.returnError(res, 500, err.message);
   }
   http.returnJson(res, 200, instanceData);
 });
Example #24
0
/**
 * 500 handler.
 */
function errorHandler(err, req, res) {
  httpUtil.returnError(res, err);
}