code: function(config) {
      var app = express();
  
      app.config = config;
  
      app.use(function(req, res, next) {
        // express.js seems to store the app in req.app already but it isn't
        // documented anywhere. Just to make sure we do it also.
        req.app = app;
        next();
      });
  
      if (app.config.protocol === 'spdy') {
        createSpdyServer(app);
      } else if ( app.config.protocol === 'https' ) {
        createHttpsServer(app);
      } else {
        createHttpServer(app);
      }
  
      log.trace("Initializing features");
      app = plugins.initFeatures(app);
      log.trace("Triggering appReady event");
      app.emit('appReady', app);
  
      return app;
    }
docs: Creates an *express.js* application with given config but doesn't start it.
  
  @param {Object} config
  The config object for a service. See README.md for documentation about config files.
  
  @returns {Object}
  Express application instance.