code: function proxyReq (proxyObj, callback) {
    let proxyError = proxyObjErrors(proxyObj);
    if (proxyError) { return callback(new Error(proxyError)); }
  
    if (proxyObj.options.log) { logReqOpts(proxyObj.reqOpts); }
  
    // TESTING HELPER ONLY
    if (proxyObj.options.shortCircuit) { return callback(null, proxyObj); }
  
    // unless explicitly set, ignore encoding
    // THIS IS A HACK THAT MAY CAUSE ISSUES. I DON'T
    // KNOW OF AN IMMEDIATE WORKAROUND TO FIX IT.
    if (!proxyObj.options['accept-encoding']) {
      delete proxyObj.reqOpts.headers['accept-encoding'];
    }
  
    // Check for Form Post Parameters
    if (proxyObj.req.body && (proxyObj.reqOpts.method === 'POST' || proxyObj.reqOpts.method === 'PUT')) {
      proxyObj.reqOpts.form = proxyObj.req.body;
    }
  
    // make request
    request(proxyObj.reqOpts, function (error, response, body) {
      if (proxyObj.options.log) { logResponse(response, body); }
  
      // transfer result to resulting o
      proxyObj.res.set(helpers.defaultHeaders(proxyObj.options.response.headers, response ? response.headers : {}));
  
      proxyObj.result = {
        response : response,
        body     : body
      };
  
      return callback(error, proxyObj);
    });
  }
docs: async function to make the proxied request (fires between brefore `pre` and `post` functions)