mirror of
https://github.com/jdalrymple/gitbeaker.git
synced 2026-01-25 16:04:01 +00:00
Add endpoint to download single job artifact file via stream
This commit is contained in:
parent
747d478998
commit
8f65bb6508
@ -1,5 +1,6 @@
|
||||
import URLJoin from 'url-join';
|
||||
import Request from 'request-promise';
|
||||
import StreamableRequest from 'request';
|
||||
import XMLHttpRequester from './XMLHttpRequester';
|
||||
|
||||
class BaseModel {
|
||||
@ -7,6 +8,7 @@ class BaseModel {
|
||||
this.url = URLJoin(url, 'api', 'v4');
|
||||
this.headers = {};
|
||||
this.requester = useXMLHttpRequest ? XMLHttpRequester : Request;
|
||||
this.streamRequester = StreamableRequest;
|
||||
this.useXMLHttpRequest = useXMLHttpRequest;
|
||||
|
||||
if (oauthToken) {
|
||||
|
||||
@ -50,6 +50,13 @@ class RequestHelper {
|
||||
return response.body;
|
||||
}
|
||||
|
||||
static streamGet(service, endpoint, options = {}) {
|
||||
return service.streamRequester.get(defaultRequest(service, endpoint, {
|
||||
headers: service.headers,
|
||||
qs: options,
|
||||
}));
|
||||
}
|
||||
|
||||
static post(service, endpoint, options = {}, form = false) {
|
||||
const body = form ? 'fromData' : 'body';
|
||||
|
||||
|
||||
@ -12,6 +12,12 @@ class Jobs extends BaseService {
|
||||
|
||||
return RequestHelper.get(this, `projects/${pId}/jobs/${jobId}/artifacts/${artifactPath}`);
|
||||
}
|
||||
|
||||
downloadSingleArtifactFileStream(projectId, jobId, artifactPath) {
|
||||
const pId = encodeURIComponent(projectId);
|
||||
|
||||
return RequestHelper.streamGet(this, `projects/${pId}/jobs/${jobId}/artifacts/${artifactPath}`);
|
||||
}
|
||||
}
|
||||
|
||||
export default Jobs;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user