code: function (transport, method, path, callback) {
        if (transport === 'http' || transport === 'ws') {
          log.debug('%s perform a %s request', app.name, (transport === 'ws' ? 'websocket' : 'http'));
          this.composeRequest(null, path, method, transport);
          // perform request and process response
          this.request.end(function (err, res) {
            logResponse(err, res);
            callback(err, res);
  //          if (err) {
  //            callback(err, res);
  //          } else if (!res.ok) {
  //            callback(res.error, res);
  //          } else {
  //            callback(null, res);
  //          }
          });
        } else {
          var err = 'unknown transport';
          log.error('%s %s %s', app.name, err, transport);
          callback(err);
        }
      }
docs: Perform a request
  
  @param {String} transport = 'http' The transport protocol ('http' or 'ws')
  @param {String} method = 'GET' The http verb
  @param {String} path The required route
  @param {Function} callback The callback: next(err, res)
  @param {Error/String} callback.err The error if occurred
  @param {Object} callback.res The response received from the server
  @private