Skip to content

Commit 6763185

Browse files
committed
do not set content-language header when sending JSON to Personality Insights service
Fixes watson-developer-cloud#220
1 parent db9a797 commit 6763185

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

services/personality_insights/v2.js

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -66,18 +66,26 @@ PersonalityInsights.prototype.profile = function(params, callback) { // eslint-d
6666
else
6767
content_type = 'application/json';
6868

69+
var headers = {
70+
'Content-type' : content_type,
71+
'Accept-language' : params.accept_language || params.acceptLanguage || 'en'
72+
};
73+
74+
// service bug: language in header overrides language in each JSON content item, so we can't set it on those requests
75+
// (also, content-language doesn't really make sense on JSON)
76+
if (params.language || params.text) {
77+
headers['Content-language'] = params.language || 'en'
78+
}
79+
80+
6981
var parameters = {
7082
options: {
7183
method: 'POST',
7284
url: '/v2/profile',
7385
body: params.text || pick(params, ['contentItems']),
7486
json: true,
7587
qs: pick(params, ['include_raw']),
76-
headers: {
77-
'Content-type' : content_type,
78-
'Content-language': params.language ? params.language : 'en',
79-
'Accept-language' : params.accept_language || params.acceptLanguage || 'en'
80-
}
88+
headers: headers
8189
},
8290
defaultOptions: this._options
8391
};

test/test.personality_insights.v2.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ describe('personality_insights', function() {
7979
assert.equal(req.uri.href, service.url + service_path);
8080
assert.equal(body, JSON.stringify(payload));
8181
assert.equal(req.method, 'POST');
82+
assert.equal(req.headers['Content-language'], undefined); // service bug: content-language header overrides the language specified in JSON for each content item, so it must not be set
8283
assert.equal(req.headers['Content-type'], 'application/json');
8384
});
8485

@@ -89,6 +90,7 @@ describe('personality_insights', function() {
8990
assert.equal(req.uri.href, service.url + service_path);
9091
assert.equal(body, JSON.stringify(payload));
9192
assert.equal(req.method, 'POST');
93+
assert.equal(req.headers['Content-language'], undefined); // service bug: content-language header overrides the language specified in JSON for each content item, so it must not be set
9294
assert.equal(req.headers['Content-type'], 'application/json');
9395
});
9496

0 commit comments

Comments
 (0)