Skip to content

Commit

Permalink
add support for oAuthToken
Browse files Browse the repository at this point in the history
Add oAuthToken so not only Basic Authorization but also oAuthToken can be provided using a Bearer.
  • Loading branch information
Topener committed Apr 5, 2016
1 parent 33da9ae commit 0dc7367
Showing 1 changed file with 25 additions and 9 deletions.
34 changes: 25 additions & 9 deletions xhr.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ XHR.prototype.get = function(url, onSuccess, onError, extraParams) {
var extraParams = extraParams || {};
extraParams.async = (extraParams.hasOwnProperty('async')) ? extraParams.async : true;
extraParams.ttl = extraParams.ttl || false;
extraParams.shouldAuthenticate = extraParams.shouldAuthenticate || false; // if you set this to true, pass "username" and "password" as well
extraParams.shouldAuthenticate = extraParams.shouldAuthenticate || false; // if you set this to true, pass "username" and "password" as well or an oAuthToken
extraParams.contentType = extraParams.contentType || "application/json";

var cache = readCache(url);
Expand All @@ -41,7 +41,11 @@ XHR.prototype.get = function(url, onSuccess, onError, extraParams) {

// If we need to authenticate
if (extraParams.shouldAuthenticate) {
var authstr = 'Basic ' + Titanium.Utils.base64encode(extraParams.username + ':' + extraParams.password);
if (extraParams.oAuthToken){
var authstr = 'Bearer ' + extraParams.oAuthToken;
} else {
var authstr = 'Basic ' + Titanium.Utils.base64encode(extraParams.username + ':' + extraParams.password);
}
xhr.setRequestHeader('Authorization', authstr);
}

Expand Down Expand Up @@ -101,7 +105,7 @@ XHR.prototype.post = function(url, data, onSuccess, onError, extraParams) {
var onError = onError || function(){};
var extraParams = extraParams || {};
extraParams.async = (extraParams.hasOwnProperty('async')) ? extraParams.async : true;
extraParams.shouldAuthenticate = extraParams.shouldAuthenticate || false; // if you set this to true, pass "username" and "password" as well
extraParams.shouldAuthenticate = extraParams.shouldAuthenticate || false; // if you set this to true, pass "username" and "password" as well or an oAuthToken
extraParams.contentType = extraParams.contentType || "application/json";

// Create the HTTP connection
Expand All @@ -117,7 +121,11 @@ XHR.prototype.post = function(url, data, onSuccess, onError, extraParams) {

// If we need to authenticate
if (extraParams.shouldAuthenticate) {
var authstr = 'Basic ' + Titanium.Utils.base64encode(extraParams.username + ':' + extraParams.password);
if (extraParams.oAuthToken){
var authstr = 'Bearer ' + extraParams.oAuthToken;
} else {
var authstr = 'Basic ' + Titanium.Utils.base64encode(extraParams.username + ':' + extraParams.password);
}
xhr.setRequestHeader('Authorization', authstr);
}

Expand Down Expand Up @@ -154,7 +162,7 @@ XHR.prototype.put = function(url, data, onSuccess, onError, extraParams) {
var onError = onError || function(){};
var extraParams = extraParams || {};
extraParams.async = (extraParams.hasOwnProperty('async')) ? extraParams.async : true;
extraParams.shouldAuthenticate = extraParams.shouldAuthenticate || false; // if you set this to true, pass "username" and "password" as well
extraParams.shouldAuthenticate = extraParams.shouldAuthenticate || false; // if you set this to true, pass "username" and "password" as well or an oAuthToken
extraParams.contentType = extraParams.contentType || "application/json";

// Create the HTTP connection
Expand All @@ -170,7 +178,11 @@ XHR.prototype.put = function(url, data, onSuccess, onError, extraParams) {

// If we need to authenticate
if (extraParams.shouldAuthenticate) {
var authstr = 'Basic ' + Titanium.Utils.base64encode(extraParams.username + ':' + extraParams.password);
if (extraParams.oAuthToken){
var authstr = 'Bearer ' + extraParams.oAuthToken;
} else {
var authstr = 'Basic ' + Titanium.Utils.base64encode(extraParams.username + ':' + extraParams.password);
}
xhr.setRequestHeader('Authorization', authstr);
}

Expand Down Expand Up @@ -209,7 +221,7 @@ XHR.prototype.destroy = function(url, onSuccess, onError, extraParams) {
var onError = onError || function(){};
var extraParams = extraParams || {};
extraParams.async = (extraParams.hasOwnProperty('async')) ? extraParams.async : true;
extraParams.shouldAuthenticate = extraParams.shouldAuthenticate || false; // if you set this to true, pass "username" and "password" as well
extraParams.shouldAuthenticate = extraParams.shouldAuthenticate || false; // if you set this to true, pass "username" and "password" as well or an oAuthToken
extraParams.contentType = extraParams.contentType || "application/json";

// Create the HTTP connection
Expand All @@ -225,7 +237,11 @@ XHR.prototype.destroy = function(url, onSuccess, onError, extraParams) {

// If we need to authenticate
if (extraParams.shouldAuthenticate) {
var authstr = 'Basic ' + Titanium.Utils.base64encode(extraParams.username + ':' + extraParams.password);
if (extraParams.oAuthToken){
var authstr = 'Bearer ' + extraParams.oAuthToken;
} else {
var authstr = 'Basic ' + Titanium.Utils.base64encode(extraParams.username + ':' + extraParams.password);
}
xhr.setRequestHeader('Authorization', authstr);
}

Expand Down Expand Up @@ -407,4 +423,4 @@ writeCache = function(data, url, ttl) {
};

// Return everything
module.exports = XHR;
module.exports = XHR;

0 comments on commit 0dc7367

Please sign in to comment.