architect-restify

Expose restify server as architect plugin

architect-restify

expose restify server rest as architect plugin.

npm install --save architect-restify
{
  "packagePath": "architect-restify",
  port: process.env.PORT || 8080,
  host: process.env.IP || "0.0.0.0"
}

Or With plugins :

{
  packagePath: "architect-restify",
  port: process.env.PORT || 8080,
  host: process.env.IP || "0.0.0.0"
  plugins: {
    CORS:  {
      origins: ['http://localhost:8080']
    }
  }
}

Boot Architect :

var path = require('path');
var architect = require("architect");
 
var configPath = path.join(__dirname, "config.js");
var config = architect.loadConfig(configPath);
 
architect.createApp(config, function (errapp) {
    if (err) {
        throw err;
    }
    console.log("app ready");
});

Configure Architect with config.js :

module.exports = [{
    packagePath: "architect-restify",
    port: process.env.PORT || 8080,
    host: process.env.IP || "0.0.0.0"
}, './routes'];

And register your routes in ./routes/index.js :

module.exports = function setup(optionsimportsregister) {
    var rest = imports.rest;
 
    // register routes  
    rest.get('/catalogue', function (reqresnext) {
        res.write("{'message':'hello, world'}");
    res.end();
    });
    
    register();
};
// Consume rest plugin 
module.exports.consumes=['rest'];
  • port : tcp port to listent to
  • host : host to listen to
  • socket: unix socket to listen
  • interface : network interface name to listen to (must match os.networkInterfaces)
  • family : interface address family to listen to (with interface)
  • plugins: a hash containing either a restify bundled plugin or a function that returns a plugin.