lib/NetworkAbstraction.js
function(method, where, query, followLink, callback) {
    var opts = {};
    //check if followLink is a function, if so do backwards compatable support
    //if not, proceed normally
    if(typeof followLink == 'function')
    {
        //set nonexistant callback to followLink
        callback = followLink;
        //default followLink flag to true
        followLink = true;
    }
    if(query != null) opts.qs = query;
    opts.headers = {};
    opts.headers['Authorization'] = "SSWS " + apiKey;
    opts.method = method;
    opts.uri = url.parse(where);
    request(opts, function(error, clientResp, resp) { handleResponse(error, followLink, clientResp, resp, callback) });
}
function(method, where, query, followLink, callback) {
    var opts = {};
    //check if followLink is a function, if so do backwards compatable support
    //if not, proceed normally
    if(typeof followLink == 'function')
    {
        //set nonexistant callback to followLink
        callback = followLink;
        //default followLink flag to true
        followLink = true;
    }
    if(query != null) opts.qs = query;
    opts.headers = {};
    opts.headers['Authorization'] = "SSWS " + apiKey;
    opts.method = method;
    opts.uri = url.parse(where);
    request(opts, function(error, clientResp, resp) { handleResponse(error, followLink, clientResp, resp, callback) });
}
/*
Old version did not have followLink flag, so to support backwards compatibility
we check if followLink is a function
if so, the caller is expecting the old version of this function,
if followLink is a boolean, caller is expecting new version

*NOTE* all this is only relevant to Listing functions, nothing else uses filters