33 lines
739 B
JavaScript
33 lines
739 B
JavaScript
|
// The node and browser modules expose versions of this with the
|
||
|
// appropriate constructor function bound as first argument
|
||
|
/**
|
||
|
* Issue a request:
|
||
|
*
|
||
|
* Examples:
|
||
|
*
|
||
|
* request('GET', '/users').end(callback)
|
||
|
* request('/users').end(callback)
|
||
|
* request('/users', callback)
|
||
|
*
|
||
|
* @param {String} method
|
||
|
* @param {String|Function} url or callback
|
||
|
* @return {Request}
|
||
|
* @api public
|
||
|
*/
|
||
|
|
||
|
function request(RequestConstructor, method, url) {
|
||
|
// callback
|
||
|
if ('function' == typeof url) {
|
||
|
return new RequestConstructor('GET', method).end(url);
|
||
|
}
|
||
|
|
||
|
// url first
|
||
|
if (2 == arguments.length) {
|
||
|
return new RequestConstructor('GET', method);
|
||
|
}
|
||
|
|
||
|
return new RequestConstructor(method, url);
|
||
|
}
|
||
|
|
||
|
module.exports = request;
|