Skip to content
This repository was archived by the owner on Jul 29, 2024. It is now read-only.

Commit 68d2f73

Browse files
authored
chore(request): remove request module in favor of node https (#3265)
1 parent 78f3c64 commit 68d2f73

File tree

3 files changed

+50
-45
lines changed

3 files changed

+50
-45
lines changed

Diff for: lib/driverProviders/browserStack.ts

+49-41
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* It is responsible for setting up the account object, tearing
44
* it down, and setting up the driver correctly.
55
*/
6-
import * as request from 'request';
6+
import * as https from 'https';
77
import * as q from 'q';
88
import * as util from 'util';
99

@@ -23,46 +23,54 @@ export class BrowserStack extends DriverProvider {
2323
* @param {Object} update
2424
* @return {q.promise} A promise that will resolve when the update is complete.
2525
*/
26-
updateJob(update: any): q.Promise<any> {
27-
let deferredArray = this.drivers_.map((driver: webdriver.WebDriver) => {
28-
let deferred = q.defer();
29-
driver.getSession().then((session: webdriver.Session) => {
30-
var jobStatus = update.passed ? 'completed' : 'error';
31-
logger.info(
32-
'BrowserStack results available at ' +
33-
'https://www.browserstack.com/automate');
34-
request(
35-
{
36-
url: 'https://www.browserstack.com/automate/sessions/' +
37-
session.getId() + '.json',
38-
headers: {
39-
'Content-Type': 'application/json',
40-
'Authorization': 'Basic ' +
41-
new Buffer(
42-
this.config_.browserstackUser + ':' +
43-
this.config_.browserstackKey)
44-
.toString('base64')
45-
},
46-
method: 'PUT',
47-
form: {'status': jobStatus}
48-
},
49-
(error: Error) => {
50-
if (error) {
51-
throw new BrowserError(
52-
logger,
53-
'Error updating BrowserStack pass/fail status: ' +
54-
util.inspect(error));
55-
}
56-
});
57-
deferred.resolve();
58-
});
59-
return deferred.promise;
60-
});
61-
return q.all(deferredArray);
62-
}
63-
64-
65-
26+
updateJob(update: any): q.Promise<any> {
27+
let deferredArray = this.drivers_.map((driver: webdriver.WebDriver) => {
28+
let deferred = q.defer();
29+
driver.getSession().then((session: webdriver.Session) => {
30+
var jobStatus = update.passed ? 'completed' : 'error';
31+
logger.info(
32+
'BrowserStack results available at ' +
33+
'https://www.browserstack.com/automate');
34+
let headers: Object = {
35+
'Content-Type': 'application/json',
36+
'Authorization': 'Basic ' +
37+
new Buffer(
38+
this.config_.browserstackUser + ':' +
39+
this.config_.browserstackKey)
40+
.toString('base64')
41+
};
42+
let options = {
43+
hostname: 'www.browserstack.com',
44+
port: 443,
45+
path: '/automate/sessions/' + session.getId() + '.json',
46+
method: 'PUT',
47+
headers: headers
48+
};
49+
https
50+
.request(
51+
options,
52+
(res) => {
53+
let responseStr = '';
54+
res.on('data', (data: Buffer) => {
55+
responseStr += data.toString();
56+
});
57+
res.on('end', () => {
58+
logger.info(responseStr);
59+
deferred.resolve();
60+
});
61+
res.on('error', (e: Error) => {
62+
throw new BrowserError(
63+
logger,
64+
'Error updating BrowserStack pass/fail status: ' +
65+
util.inspect(e));
66+
});
67+
})
68+
.write('{\'status\': ' + jobStatus + '}');
69+
});
70+
return deferred.promise;
71+
});
72+
return q.all(deferredArray);
73+
}
6674

6775
/**
6876
* Configure and launch (if applicable) the object's environment.

Diff for: package.json

-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
"jasminewd2": "0.0.9",
2020
"optimist": "~0.6.0",
2121
"q": "1.4.1",
22-
"request": "~2.72.0",
2322
"saucelabs": "~1.2.0",
2423
"selenium-webdriver": "2.53.2",
2524
"source-map-support": "~0.4.0",

Diff for: typings.json

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
{
22
"globalDependencies": {
33
"chalk": "registry:dt/chalk#0.4.0+20160317120654",
4-
"form-data": "registry:dt/form-data#0.0.0+20160316155526",
54
"glob": "registry:dt/glob#5.0.10+20160317120654",
65
"minimatch": "registry:dt/minimatch#2.0.8+20160317120654",
76
"optimist": "registry:dt/optimist#0.0.0+20160316171810",
87
"jasmine": "registry:dt/jasmine#2.2.0+20160412134438",
98
"minimist": "registry:dt/minimist#1.1.3+20160317120654",
109
"node": "registry:dt/node#4.0.0+20160423143914",
11-
"q": "registry:dt/q#0.0.0+20160417152954",
12-
"request": "registry:dt/request#0.0.0+20160316155526"
10+
"q": "registry:dt/q#0.0.0+20160417152954"
1311
}
1412
}

0 commit comments

Comments
 (0)