From f258ebfd5dab1cca773f31dc600f794204f05ee9 Mon Sep 17 00:00:00 2001 From: Derek Date: Tue, 7 Jan 2014 20:05:46 -0800 Subject: [PATCH] Make `withCredentials` a param allowing caller to set --- lib/request.js | 6 +++++- test/request_url.js | 17 ++++++++++++++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/lib/request.js b/lib/request.js index 0903640..93e5720 100644 --- a/lib/request.js +++ b/lib/request.js @@ -15,7 +15,11 @@ var Request = module.exports = function (xhr, params) { + (params.path || '/') ; - try { xhr.withCredentials = true } + if (typeof params.withCredentials === 'undefined') { + params.withCredentials = true; + } + + try { xhr.withCredentials = params.withCredentials } catch (e) {} xhr.open( diff --git a/test/request_url.js b/test/request_url.js index a589985..e622419 100644 --- a/test/request_url.js +++ b/test/request_url.js @@ -56,4 +56,19 @@ test('Test string as parameters', function(t) { t.equal( request.uri, 'http://localhost:8081/api/foo', 'Url should be correct'); t.end(); -}) \ No newline at end of file +}); + +test('Test withCredentials param', function(t) { + var url = '/api/foo'; + + var request = http.request({ url: url, withCredentials: false }, noop); + t.equal( request.xhr.withCredentials, false, 'xhr.withCredentials should be false'); + + var request = http.request({ url: url, withCredentials: true }, noop); + t.equal( request.xhr.withCredentials, true, 'xhr.withCredentials should be true'); + + var request = http.request({ url: url }, noop); + t.equal( request.xhr.withCredentials, true, 'xhr.withCredentials should be true'); + + t.end(); +});