code: function verb(method, optionsOrUrl, body) {
      var options = {
          method: method
      };
      if (_.isString(optionsOrUrl)) {
          options.url = optionsOrUrl;
      }
      else {
          _.defaults(options, optionsOrUrl);
      }
      if (!_.isUndefined(body)) {
          options.body = body;
      }
      return http.ajax(options);
  }
docs: issues an http/ajax request against the Relution server.
  
  @param optionsOrUrl of request, including target `url`, or url.
  @param body request body to submit in case optionsOrUrl is a url.
  @return {Q.Promise} of response body, in case of failure rejects to an Error object including
  `requestUrl`, `statusCode` and `statusMessage`.
  
  @see head
  @see get
  @see put
  @see post
  @see patch
  @see delete
  
  @see ajax
  
  @internal Implements verb methods.