Skip to content

Commit 04b32bf

Browse files
committed
added check version headers to the http request module
1 parent 3031917 commit 04b32bf

File tree

5 files changed

+6
-131
lines changed

5 files changed

+6
-131
lines changed

index.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ module.exports = require('./lib/Api');
22

33
module.exports.categories = require('./lib/categories');
44

5-
module.exports.checkVersion = require('./lib/checkVersion');
6-
75
module.exports.entities = require("./lib/entities");
86

97
module.exports.info = require("./lib/info");

lib/Api.js

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ var sentences = require("./sentences");
2929
var language = require("./language");
3030
var ping = require("./ping");
3131
var info = require("./info");
32-
var checkVersion = require("./checkVersion");
3332

3433
/**
3534
* Compatible server version.
@@ -78,8 +77,6 @@ function Api(userKey, serviceURL) {
7877
this.serviceURL = "https://api.rosette.com/rest/v1/";
7978
}
8079

81-
this.versionChecked = false;
82-
8380
};
8481

8582
/**
@@ -92,26 +89,13 @@ Api.prototype.rosette = function(endpoint, callback) {
9289
var api = this;
9390
endpoint = require("./" + endpoint);
9491
var e = new endpoint();
95-
var c = new checkVersion();
9692

97-
// check if server and client API versions match
98-
c.check(api.parameters, this.userKey, this.serviceURL, function(err, res) {
93+
// send parameters to the specified endpoint
94+
e.getResults(api.parameters, api.userKey, api.serviceURL, function(err, res) {
9995
if (err) {
10096
return callback(err);
101-
} else if (!res.versionChecked) {
102-
return callback(new RosetteException("incompatibleVersion", "The server version is not compatible with binding version " + BINDING_VERSION, res.Version));
10397
} else {
104-
// mark api binding version as checked
105-
api.versionChecked = true;
106-
107-
// send parameters to the specified endpoint
108-
e.getResults(api.parameters, api.userKey, api.serviceURL, function(err, res) {
109-
if (err) {
110-
return callback(err);
111-
} else {
112-
return callback(null, res);
113-
}
114-
});
98+
return callback(null, res);
11599
}
116100
});
117101
};

lib/checkVersion.js

Lines changed: 0 additions & 47 deletions
This file was deleted.

lib/rosetteRequest.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,9 @@ rosetteRequest.prototype.makeRequest = function(requestType, userKey, urlParts,
6767
"accept": "application/json",
6868
"accept-encoding": "gzip",
6969
"content-type": "application/json",
70-
"user-agent": "rosetteapinode/" + BINDING_VERSION
70+
"user-agent": "rosetteapinode/" + BINDING_VERSION,
71+
"X-RosetteAPI-Binding": "nodejs",
72+
"X-RosetteAPI-Binding-Version": BINDING_VERSION
7173
}
7274
if (userKey != null) {
7375
headers["X-RosetteAPI-Key"] = userKey;

tests/unittests.js

Lines changed: 0 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -16,73 +16,11 @@ var entities = require("../lib/entities");
1616
var morphology = require("../lib/morphology");
1717
var tokens = require("../lib/tokens");
1818
var sentences = require("../lib/sentences");
19-
var checkVersion = require("../lib/checkVersion");
2019
var info = require("../lib/info");
2120
var ping = require("../lib/ping");
2221
var paramObj = require("../lib/parameters");
2322
var rosetteException = require("../lib/rosetteExceptions");
2423

25-
describe("Check Version", function() {
26-
27-
afterEach(function(done) {
28-
nock.cleanAll();
29-
done();
30-
});
31-
32-
it("passes the check version", function(done) {
33-
var mockResponse = JSON.stringify({'name':'Rosette API', 'versionChecked':true});
34-
35-
nock('https://api.rosette.com', {"encodedQueryParams": true })
36-
.post('/rest/v1/info')
37-
.query({"clientVersion":"1.1"})
38-
.reply(200, JSON.parse(mockResponse));
39-
40-
var params = new paramObj();
41-
var c = new checkVersion();
42-
c.check(params, '1234567890', 'https://api.rosette.com/rest/v1/', function(err, res) {
43-
chai.expect(res).to.have.property('name');
44-
chai.expect(res.name).to.equal('Rosette API');
45-
done();
46-
});
47-
48-
});
49-
50-
it("fails the version check", function(done) {
51-
var mockResponse = JSON.stringify({'name':'Rosette API', 'versionChecked':false});
52-
53-
nock('https://api.rosette.com', {"encodedQueryParams": true })
54-
.post('/rest/v1/info')
55-
.query({"clientVersion":"1.1"})
56-
.reply(200, JSON.parse(mockResponse));
57-
58-
var c = new checkVersion();
59-
var params = new paramObj();
60-
c.check(params, '1234567890', 'https://api.rosette.com/rest/v1/', function(err, res) {
61-
chai.expect(res).to.have.property('versionChecked');
62-
chai.expect(res.versionChecked).to.be.false;
63-
done();
64-
});
65-
66-
});
67-
68-
it("fails the API version check", function(done) {
69-
var mockResponse = JSON.stringify({'name':'Rosette API', 'versionChecked':false});
70-
71-
nock('https://api.rosette.com', {"encodedQueryParams": true })
72-
.post('/rest/v1/info')
73-
.query({"clientVersion":"1.1"})
74-
.reply(200, JSON.parse(mockResponse));
75-
76-
var api = new Api('123456789', 'https://api.rosette.com/rest/v1');
77-
api.rosette("info", function(err, res) {
78-
chai.expect(err).to.not.be.null;
79-
chai.expect(err.name).to.equal('RosetteException');
80-
done();
81-
});
82-
83-
});
84-
});
85-
8624
describe("Language Endpoint", function() {
8725
beforeEach(function(done) {
8826
var mockResponse = JSON.stringify({'name':'Rosette API', 'versionChecked':true});

0 commit comments

Comments
 (0)