Skip to content

Commit 32bb8d2

Browse files
Anwesha NaskarAnwesha Naskar
Anwesha Naskar
authored and
Anwesha Naskar
committed
Changed header so user-agent is not overwritten, instead appended
1 parent f59475b commit 32bb8d2

File tree

2 files changed

+36
-1
lines changed

2 files changed

+36
-1
lines changed

lib/requestwrapper.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ export function createRequest(parameters, _callback) {
220220
// Headers
221221
options.headers = extend({}, options.headers);
222222
if (!isBrowser) {
223-
options.headers['User-Agent'] = pkg.name + '-nodejs-' + pkg.version;
223+
options.headers['User-Agent'] = `${pkg.name}-nodejs-${pkg.version};${options.headers['User-Agent'] || ''}`;
224224
}
225225

226226
// Query params

test/unit/test.requestWrapper.js

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,11 @@ const createRequest = require('../../lib/requestwrapper').createRequest;
44
const formatError = require('../../lib/requestwrapper').formatErrorIfExists;
55
const assert = require('assert');
66
const isStream = require('isstream');
7+
const watson = require('../../index');
8+
const pjson = require('../../package.json');
79

810
describe('requestwrapper', () => {
11+
const noop = function() {};
912
it('should emit error stream on missing parameters when callback is undefined', () => {
1013
const parameters = {
1114
options: {
@@ -17,6 +20,38 @@ describe('requestwrapper', () => {
1720
};
1821
assert(isStream(createRequest(parameters, '')));
1922
});
23+
24+
it('header should be accurate', () => {
25+
const service = {
26+
username: 'batman',
27+
password: 'bruce-wayne',
28+
url: 'http://ibm.com:80',
29+
version: 'v1',
30+
version_date: '2017-05-26'
31+
};
32+
const service2 = {
33+
username: 'batman',
34+
password: 'bruce-wayne',
35+
url: 'http://ibm.com:80',
36+
version: 'v1',
37+
version_date: '2017-05-26',
38+
headers: {
39+
'User-Agent': 'openwhisk'
40+
}
41+
};
42+
const conversation = watson.conversation(service);
43+
const conversation_ow = watson.conversation(service2);
44+
const payload = {
45+
workspace_id: 'workspace1'
46+
};
47+
const req = conversation.getIntents(payload, noop);
48+
const req2 = conversation_ow.getIntents(payload, noop);
49+
assert.equal(req.headers['User-Agent'], 'watson-developer-cloud-nodejs-' + pjson.version + ';');
50+
assert.equal(
51+
req2.headers['User-Agent'],
52+
'watson-developer-cloud-nodejs-' + pjson.version + ';' + 'openwhisk'
53+
);
54+
});
2055
});
2156

2257
describe('formatError', () => {

0 commit comments

Comments
 (0)