Skip to content

Commit

Permalink
feat(request): rename to setHeader
Browse files Browse the repository at this point in the history
BREAKING CHANGE: renamed addHeader to setHeader
  • Loading branch information
sonicoder86 committed Feb 22, 2016
1 parent 41a2d0b commit 9f2ff16
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 14 deletions.
3 changes: 3 additions & 0 deletions .eslintrc
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@
"globals": {
"expect": true
},
"rules": {
"security/detect-object-injection": 0
},
"extends": [
"emarsys"
]
Expand Down
4 changes: 2 additions & 2 deletions request.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ describe('SuiteRequest', function() {

it('should sign headers with non string values', function() {
var suiteRequest = SuiteRequest.create('key-id', 'secret', requestOptions);
requestOptions.addHeader(['x-customer-id', 15]);
requestOptions.setHeader(['x-customer-id', 15]);

this.sandbox.stub(request, 'post', function(options, callback) {
expect(options.headers['x-ems-auth'])
Expand All @@ -64,7 +64,7 @@ describe('SuiteRequest', function() {
});

it('signs extra headers too', function() {
requestOptions.addHeader(['extra-header', 'header-value']);
requestOptions.setHeader(['extra-header', 'header-value']);
var suiteRequest = SuiteRequest.create('key-id', 'secret', requestOptions);

this.sandbox.stub(request, 'get', function(options, callback) {
Expand Down
30 changes: 20 additions & 10 deletions requestOption.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,19 +37,29 @@ SuiteRequestOption.prototype = {
this.port = port;
},

addHeader: function(header) {
var exists = false;
setHeader: function(header) {
var key = header[0];
var value = header[1];

this.headers.forEach(function(addedHeader) {
if (addedHeader[0] === header[0]) {
addedHeader[1] = header[1];
exists = true;
}
});

if (!exists) {
var index = this._headerIndexOf(key);
if (index === -1) {
this.headers.push(header);
} else {
this.headers[index][1] = value;
}
},

_headerIndexOf: function(key) {
var index = -1;

for (var i = 0; i < this.headers.length; i++) {
if (this.headers[i][0] === key) {
index = i;
break;
}
}

return index;
},

toHash: function() {
Expand Down
4 changes: 2 additions & 2 deletions requestOption.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ describe('SuiteRequestOption', function() {
var dummyHeader = ['header-name', 'header-value'];
var requestOptions = new SuiteRequestOption(dummyServiceConfig.host, dummyServiceConfig);

requestOptions.addHeader(dummyHeader);
requestOptions.setHeader(dummyHeader);

expect(requestOptions.toHash().headers).to.include(dummyHeader);
});
Expand All @@ -26,7 +26,7 @@ describe('SuiteRequestOption', function() {
var expectedContentTypeHeader = ['content-type', 'text/csv'];
var requestOptions = new SuiteRequestOption(dummyServiceConfig.host, dummyServiceConfig);

requestOptions.addHeader(expectedContentTypeHeader);
requestOptions.setHeader(expectedContentTypeHeader);

var contentTypeHeader = requestOptions.toHash().headers.filter(function(header) {
return header[0] === 'content-type';
Expand Down

0 comments on commit 9f2ff16

Please sign in to comment.