code: function makeRequest(params) {
      var QPromiseFactory = function(resolver) {
        return q.Promise(resolver);
      };
      params.retryStrategy = loggingRetryStrategy;
      params.promiseFactory = QPromiseFactory;
      return request(params)
        .then(function (response) {
          if (response.statusCode !== 200) {
            throw new Error('HTTP error (' + response.statusCode + ')');
          }
          return response.body;
        })
        .fail(function (error) {
          throw new WrapperError([
            params.method,
            params.url,
            'failed.'
          ].join(' '), error);
        });
    }
docs: Wraps the request call, converts it to a promise. Also formats the errors messages.
  
  @param {Object} params - request's parameters object.
  @returns {Object} - A promise which will eventually be resolved with the response's
  body.