doSend(apiPath, parameters, _httpMethod = 'GET', options = $options) {
      const method = _httpMethod.toUpperCase();
      const { headers, hostname, port } = result.prepRequest(options);

      let query;
      const path = options.path + '/' + apiPath.replace(/\/*$/, ''); // eslint-disable-line prefer-template
      if (method === 'POST') {
        query = JSON.stringify(parameters);
        headers['Content-Type'] = 'application/json';
        headers['Content-Length'] = query.length;
      }
      else {
        query = querystring.stringify(parameters);
      }

      if (options.requester_fn) {
        const requesterOptions = {
          headers,
          hostname,
          method,
          path,
          query,
          url: `https://${hostname}${path}?${query}`
        };

        if (method === 'POST') {
          requesterOptions.body = parameters;
        }

        return options.requester_fn(requesterOptions);
      }

      const httpsOptions = {
        headers,
        hostname,
        method,
        path: `${path}?${query}`,
        port
      };

      return result.sendHttpsRequest(httpsOptions, query);
    }
/**
     * Send a request to the server, receive a response
     *
     * @param {String}   apiPath       Request API path
     * @param {Object}    parameters    Parameters
     * @param {String}   _httpMethod    HTTP method to use
     * @param  {Object}    options        reconfigure the request for this call only
     */
Send a request to the server, receive a response
@param {String}   apiPath       Request API path
@param {Object}    parameters    Parameters
@param {String}   _httpMethod    HTTP method to use
@param  {Object}    options        reconfigure the request for this call only
Send a request to the server receive a response @param { String } apiPath Request API path @param { Object } parameters Parameters @param { String } _httpMethod HTTP method to use @param { Object } options reconfigure the request for this call only
doSend(apiPath, parameters, _httpMethod = 'GET', options = $options) {
      const method = _httpMethod.toUpperCase();
      const { headers, hostname, port } = result.prepRequest(options);
      let query;
      const path = options.path + '/' + apiPath.replace(/\/*$/, ''); 
      if (method === 'POST') {
        query = JSON.stringify(parameters);
        headers['Content-Type'] = 'application/json';
        headers['Content-Length'] = query.length;
      }
      else {
        query = querystring.stringify(parameters);
      }
      if (options.requester_fn) {
        const requesterOptions = {
          headers,
          hostname,
          method,
          path,
          query,
          url: `https://${hostname}${path}?${query}`
        };
        if (method === 'POST') {
          requesterOptions.body = parameters;
        }
        return options.requester_fn(requesterOptions);
      }
      const httpsOptions = {
        headers,
        hostname,
        method,
        path: `${path}?${query}`,
        port
      };
      return result.sendHttpsRequest(httpsOptions, query);
    }
doSend ( apiPath , parameters , _httpMethod = 'GET' , options = $options ) { const method = _httpMethod . toUpperCase ( ) ; const { headers , hostname , port } = result . prepRequest ( options ) ; let query ; const path = options . path + '/' + apiPath . replace ( / \/*$ / , '' ) ; if ( method === 'POST' ) { query = JSON . stringify ( parameters ) ; headers [ 'Content-Type' ] = 'application/json' ; headers [ 'Content-Length' ] = query . length ; } else { query = querystring . stringify ( parameters ) ; } if ( options . requester_fn ) { const requesterOptions = { headers , hostname , method , path , query , url : ` ${ hostname } ${ path } ${ query } ` } ; if ( method === 'POST' ) { requesterOptions . body = parameters ; } return options . requester_fn ( requesterOptions ) ; } const httpsOptions = { headers , hostname , method , path : ` ${ path } ${ query } ` , port } ; return result . sendHttpsRequest ( httpsOptions , query ) ; }
Send a request to the server, receive a response
 @param {String}   apiPath       Request API path
 @param {Object}    parameters    Parameters
 @param {String}   _httpMethod    HTTP method to use
 @param  {Object}    options        reconfigure the request for this call only
Send a request to the server receive a response @param { String } apiPath Request API path @param { Object } parameters Parameters @param { String } _httpMethod HTTP method to use @param { Object } options reconfigure the request for this call only
// eslint-disable-line prefer-template