Skip to content

Commit c93b49d

Browse files
committed
Change request to fetch
1 parent d74a8af commit c93b49d

File tree

8 files changed

+33
-27
lines changed

8 files changed

+33
-27
lines changed

package.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,6 @@
5353
"progress": "^2.0.0",
5454
"prompt": "^1.0.0",
5555
"read-yaml": "^1.1.0",
56-
"request": "^2.87.0",
57-
"request-promise-native": "^1.0.4",
5856
"shelljs": "^0.8.3",
5957
"tempfile": "^2.0.0",
6058
"underscore": "^1.9.1",

src/models/base.js

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
const request = require('request-promise-native');
2-
const url = require('url');
31
const async = require('async');
42
const crypto = require('crypto');
53

@@ -36,9 +34,10 @@ class base {
3634
data.private_token = this.token;
3735

3836
return new Promise((resolve, reject) => {
39-
request.post(`${this.url}${path}`, {
37+
fetch(`${this.url}${path}`, {
38+
method: 'POST',
4039
json: true,
41-
body: data,
40+
body: JSON.stringify(data),
4241
insecure: this._insecure,
4342
proxy: this._proxy,
4443
resolveWithFullResponse: true,
@@ -67,7 +66,7 @@ class base {
6766
path += `&page=${page}&per_page=${perPage}`;
6867

6968
return new Promise((resolve, reject) => {
70-
request(`${this.url}${path}`, {
69+
fetch(`${this.url}${path}`, {
7170
json: true,
7271
insecure: this._insecure,
7372
proxy: this._proxy,
@@ -95,15 +94,17 @@ class base {
9594
let collect = [];
9695

9796
this.get(path, 1, perPage).then(response => {
98-
response.body.forEach(item => collect.push(item));
99-
let pages = parseInt(response.headers['x-total-pages']);
100-
101-
if (pages === 1) return resolve(collect);
102-
103-
let tasks = base.createGetTasks(path, pages, 2, perPage);
104-
this.getParallel(tasks, collect, runners).then(() => {
105-
resolve(collect);
106-
}).catch(error => reject(error));
97+
response.json().then(data => {
98+
data.forEach(item => collect.push(item));
99+
let pages = parseInt(response.headers['x-total-pages']);
100+
101+
if (pages === 1) return resolve(collect);
102+
103+
let tasks = base.createGetTasks(path, pages, 2, perPage);
104+
this.getParallel(tasks, collect, runners).then(() => {
105+
resolve(collect);
106+
}).catch(error => reject(error));
107+
})
107108
}).catch(err => reject(err));
108109
});
109110
}
@@ -134,8 +135,10 @@ class base {
134135
*/
135136
getParallel(tasks, collect = [], runners = this._parallel) {
136137
return this.parallel(tasks, (task, done) => {
137-
this.get(task.path, task.page, task.perPage).then((response) => {
138-
response.body.forEach(item => collect.push(item));
138+
this.get(task.path, task.page, task.perPage)
139+
.then(response => response.json())
140+
.then(items => {
141+
items.forEach(item => collect.push(item));
139142
done();
140143
}).catch(error => done(error));
141144
}, runners);

src/models/hasTimes.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class hasTimes extends Base {
3434
*/
3535
getStats() {
3636
let promise = this.get(`projects/${this.data.project_id}/${this._type}/${this.iid}/time_stats`);
37-
promise.then(response => this.stats = response.body);
37+
promise.then(response => response.json()).then(response => this.stats = response);
3838

3939
return promise;
4040
}

src/models/issue.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ class issue extends hasTimes {
2121
promise = this.get(`projects/${encodeURIComponent(project)}/issues/${id}`);
2222
}
2323

24-
promise.then(issue => {
25-
this.data = issue.body;
24+
promise.then(response => response.json()).then(issue => {
25+
this.data = issue;
2626
return promise;
2727
});
2828

src/models/mergeRequest.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ class mergeRequest extends hasTimes {
1818
promise = this.get(`projects/${encodeURIComponent(project)}/merge_requests/${id}`);
1919
}
2020

21-
promise.then(issue => {
22-
this.data = issue.body;
21+
promise.then(response => response.json()).then(issue => {
22+
this.data = issue;
2323
return promise;
2424
});
2525

src/models/owner.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ class owner extends Base {
3737
getGroup() {
3838
return new Promise((resolve, reject) => {
3939
this.get(`groups`)
40+
.then(response => response.json())
4041
.then(groups => {
4142
if (groups.body.length === 0) return reject('Group not found');
4243
groups = groups.body;
@@ -57,6 +58,7 @@ class owner extends Base {
5758
getSubGroups() {
5859
return new Promise((resolve, reject) => {
5960
this.get(`groups`)
61+
.then(response => response.json())
6062
.then(groups => {
6163
if (groups.body.length === 0) return resolve();
6264

@@ -122,6 +124,7 @@ class owner extends Base {
122124
getProjectsByGroup() {
123125
return this.parallel(this.groups, (group, done) => {
124126
this.get(`groups/${group.id}/projects`)
127+
.then(response => response.json())
125128
.then(projects => {
126129
this.projects = this.projects.concat(projects.body);
127130
done();

src/models/project.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class project extends Base {
2121
*/
2222
make(name) {
2323
let promise = this.get(`projects/${encodeURIComponent(name)}`);
24-
promise.then(project => this.data = project.body);
24+
promise.then(response => response.json()).then(project => this.data = project);
2525

2626
return promise;
2727
}
@@ -33,16 +33,18 @@ class project extends Base {
3333
members() {
3434
return new Promise((resolve, reject) => {
3535
this.get(`projects/${this.id}/members`)
36+
.then(response => response.json())
3637
.then(response => {
37-
this.projectMembers = this.projectMembers.concat(response.body);
38+
this.projectMembers = this.projectMembers.concat(response);
3839
return new Promise(r => r());
3940
})
4041
.then(() => {
4142
if (!this.data.namespace || !this.data.namespace.kind || this.data.namespace.kind !== "group") return resolve();
4243

4344
this.get(`groups/${this.data.namespace.id}/members`)
45+
.then(response => response.json())
4446
.then(response => {
45-
this.projectMembers = this.projectMembers.concat(response.body);
47+
this.projectMembers = this.projectMembers.concat(response);
4648
resolve();
4749
})
4850
.catch(e => reject(e));

src/models/report.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ class report extends Base {
6868
*/
6969
getProject() {
7070
let promise = this.get(`projects/${encodeURIComponent(this.config.get('project'))}`);
71-
promise.then(project => this.setProject(project.body));
71+
promise.then(response => response.json()).then(project => this.setProject(project));
7272

7373
return promise;
7474
}

0 commit comments

Comments
 (0)