Skip to content

Commit f9daa54

Browse files
committed
forwarding all requests
1 parent e8d1aa9 commit f9daa54

File tree

1 file changed

+43
-53
lines changed

1 file changed

+43
-53
lines changed

lib/index.js

+43-53
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
'use strict';
22

3-
var http = require('http');
43
var Request = require('request');
54
var Q = require('q');
65
var zlib = require('zlib');
@@ -15,7 +14,7 @@ function Codeine(server,port,api_key) {
1514
this.server = server;
1615
this.api_key = api_key;
1716
this.port = port;
18-
this.request = Request.defaults({'headers': { 'api_token' : this.api_key} });
17+
this.request = Request.defaults({'headers': { 'api_token' : this.api_key}, 'followAllRedirects': true });
1918
}
2019

2120
function getCodeinePath(self) {
@@ -53,7 +52,7 @@ Codeine.prototype.createNewProject = function(projectName, selectedProject) {
5352
var deferred = Q.defer();
5453
var uri = getCodeinePath(this) + 'projects';
5554
log('createNewProject() - uri is ' + uri);
56-
this.request(createNewProjectCommand(uri,this.api_key,projectName,selectedProject), function (error, response, body) {
55+
this.request(createNewProjectCommand(uri,projectName,selectedProject), function (error, response, body) {
5756
if (!error && response && response.statusCode === 200) {
5857
deferred.resolve(body);
5958
}
@@ -73,31 +72,27 @@ Codeine.prototype.createNewProject = function(projectName, selectedProject) {
7372

7473
Codeine.prototype.runCommand = function(projectName, commandObject){
7574
var deferred = Q.defer();
76-
var runCommandOptions = createCodeineRunCommand(this.server,projectName,this.api_key, this.port);
77-
log('runCommand() - command object ', runCommandOptions);
7875
var post_data = JSON.stringify(commandObject);
7976
log('runCommand() - post data is ' + post_data);
80-
var commandReq = http.request(runCommandOptions, function(res) {
81-
res.setEncoding('utf8');
77+
var uri = getCodeinePath(this) + 'command-nodes?project='+ projectName;
78+
var runCommandOptions = createCodeineRunCommand(uri, post_data);
79+
log('runCommand() - command object ', runCommandOptions);
8280

83-
if (res.statusCode === 200) {
84-
log('runCommand() - Command ran successfully');
81+
this.request(runCommandOptions, function(error, response, body) {
82+
if (!error && response && response.statusCode === 200) {
83+
deferred.resolve(body);
8584
}
8685
else {
87-
console.error('codeine:: runCommand() - Status Code = ' + res.statusCode);
88-
deferred.reject();
86+
log('runCommand() - Error is', error);
87+
if (response && response.statusCode) {
88+
console.error('codeine:: runCommand() - Status Code = ' + response.statusCode);
89+
deferred.reject(response.statusCode);
90+
}
91+
else {
92+
deferred.reject(error);
93+
}
8994
}
90-
res.on('data', function (chunk) {
91-
log('Response: ', chunk);
92-
deferred.resolve(chunk);
93-
});
9495
});
95-
commandReq.write(post_data);
96-
commandReq.on('error', function(e) {
97-
console.error('codeine:: runCommand() - Error from server', e);
98-
deferred.reject(e);
99-
});
100-
commandReq.end();
10196
return deferred.promise;
10297
};
10398

@@ -106,6 +101,7 @@ Codeine.prototype.runCommandSync = function (projectName, commandObject, sleep,
106101
log('runCommandSync() - Running command', commandObject.command_info.name);
107102
return this.runCommand(projectName, commandObject)
108103
.then(function (commandId) {
104+
commandId = commandId.toString();
109105
log('runCommandSync() - Waiting for command', commandId, 'to finish');
110106
function check(iteration) {
111107
log('runCommandSync() - waiting for command', commandId, 'to finish.' +
@@ -245,29 +241,28 @@ Codeine.prototype.getProjectStatus = function(projectName) {
245241

246242
Codeine.prototype.saveProjectConfiguration = function(projectName, conf) {
247243
var deferred = Q.defer();
248-
var saveConfCommandOptions = createSaveConfCommand(this.server, projectName, this.api_key, this.port);
244+
var uri = getCodeinePath(this) + 'project-configuration?project='+ projectName;
249245
var post_data = JSON.stringify(conf);
246+
var saveConfCommandOptions = createSaveConfCommand(uri, post_data);
250247
log('saveProjectConfiguration() - post data is ', post_data);
251-
var commandReq = http.request(saveConfCommandOptions, function(res) {
252-
res.setEncoding('utf8');
253-
if (res.statusCode === 200) {
248+
249+
this.request(saveConfCommandOptions, function (error, response, body) {
250+
if (!error && response && response.statusCode === 200) {
254251
log('saveProjectConfiguration() - Configuration was saved successfully');
252+
var config = JSON.parse(body);
253+
deferred.resolve(config);
255254
}
256255
else {
257-
console.error('coeine:: saveProjectConfiguration() - Status Code = ' + res.statusCode);
258-
deferred.reject();
256+
log('saveProjectConfiguration() - Error is', error);
257+
if (response && response.statusCode) {
258+
console.error('codeine:: saveProjectConfiguration() - Status Code = ' + response.statusCode);
259+
deferred.reject(response.statusCode);
260+
}
261+
else {
262+
deferred.reject(error);
263+
}
259264
}
260-
res.on('data', function (chunk) {
261-
log('Response: ', chunk);
262-
deferred.resolve(chunk);
263-
});
264-
});
265-
commandReq.write(post_data);
266-
commandReq.on('error', function(e) {
267-
console.error('codeine:: saveProjectConfiguration() - Error from server', e);
268-
deferred.reject(e);
269265
});
270-
commandReq.end();
271266
return deferred.promise;
272267
};
273268

@@ -302,7 +297,7 @@ Codeine.prototype.getCommandOutput = function(projectName, commandId) {
302297
return this.request({ url : uri, encoding : null });
303298
};
304299

305-
function createNewProjectCommand(url,api_token,projectName,selectedProject) {
300+
function createNewProjectCommand(url,projectName,selectedProject) {
306301
var requestData = {
307302
'project_name': projectName,
308303
'type': 'New'
@@ -314,31 +309,26 @@ function createNewProjectCommand(url,api_token,projectName,selectedProject) {
314309
return {
315310
url: url,
316311
encoding: null,
317-
headers : {
318-
'api_token' : api_token
319-
},
320312
method: 'POST',
321313
body: JSON.stringify(requestData)
322314
};
323315
}
324316

325-
function createSaveConfCommand(server,project,api_token,port) {
317+
function createSaveConfCommand(uri, requestData) {
326318
return {
327-
hostname: server,
328-
headers : {'api_token' : api_token} ,
329-
port: port,
330-
path: '/api-with-token/project-configuration?project=' + project,
331-
method: 'PUT'
319+
url: uri,
320+
encoding: null,
321+
method: 'PUT',
322+
body: requestData
332323
};
333324
}
334325

335-
function createCodeineRunCommand(server,project,api_token,port) {
326+
function createCodeineRunCommand(uri, requestData) {
336327
return {
337-
hostname: server,
338-
headers : {'api_token' : api_token} ,
339-
port: port,
340-
path: '/api-with-token/command-nodes?project=' + project,
341-
method: 'POST'
328+
url: uri,
329+
encoding: null,
330+
method: 'POST',
331+
body: requestData
342332
};
343333
}
344334

0 commit comments

Comments
 (0)