lib/service.js
function makeRequest(operation, params, callback) {
    if (typeof params === 'function') {
      callback = params;
      params = null;
    }

    params = params || {};
    if (this.config.params) { // copy only toplevel bound params
      var rules = this.api.operations[operation];
      if (rules) {
        params = AWS.util.copy(params);
        AWS.util.each(this.config.params, function(key, value) {
          if (rules.input.members[key]) {
            if (params[key] === undefined || params[key] === null) {
              params[key] = value;
            }
          }
        });
      }
    }

    var request = new AWS.Request(this, operation, params);
    this.addAllRequestListeners(request);
    this.attachMonitoringEmitter(request);
    if (callback) request.send(callback);
    return request;
  }
function makeRequest(operation, params, callback) {
    if (typeof params === 'function') {
      callback = params;
      params = null;
    }

    params = params || {};
    if (this.config.params) { // copy only toplevel bound params
      var rules = this.api.operations[operation];
      if (rules) {
        params = AWS.util.copy(params);
        AWS.util.each(this.config.params, function(key, value) {
          if (rules.input.members[key]) {
            if (params[key] === undefined || params[key] === null) {
              params[key] = value;
            }
          }
        });
      }
    }

    var request = new AWS.Request(this, operation, params);
    this.addAllRequestListeners(request);
    this.attachMonitoringEmitter(request);
    if (callback) request.send(callback);
    return request;
  }
function makeRequest ( operation , params , callback ) { if ( typeof params === 'function' ) { callback = params ; params = null ; } params = params || { } ; if ( this . config . params ) { // copy only toplevel bound params var rules = this . api . operations [ operation ] ; if ( rules ) { params = AWS . util . copy ( params ) ; AWS . util . each ( this . config . params , function ( key , value ) { if ( rules . input . members [ key ] ) { if ( params [ key ] === undefined || params [ key ] === null ) { params [ key ] = value ; } } } ) ; } } var request = new AWS . Request ( this , operation , params ) ; this . addAllRequestListeners ( request ) ; this . attachMonitoringEmitter ( request ) ; if ( callback ) request . send ( callback ) ; return request ; }
Calls an operation on a service with the given input parameters.

@param operation [String] the name of the operation to call on the service.
@param params [map] a map of input options for the operation
@callback callback function(err, data)
If a callback is supplied, it is called when a response is returned
from the service.
@param err [Error] the error object returned from the request.
Set to `null` if the request is successful.
@param data [Object] the de-serialized data returned from
the request. Set to `null` if a request error occurs.
Calls an operation on a service with the given input parameters .