Allow passing optional headers to LocalRecorder.upload methods

pull/32/head
pabloFuente 2018-03-07 11:56:04 +01:00
parent c9fb8e480f
commit 88d017dc18
1 changed files with 15 additions and 2 deletions

View File

@ -198,13 +198,20 @@ export class LocalRecorder {
}
}
uploadAsBinary(endpoint: string): Promise<any> {
uploadAsBinary(endpoint: string, headers?: any): Promise<any> {
return new Promise((resolve, reject) => {
if (this.state !== LocalRecoderState.FINISHED) {
reject(Error('\'LocalRecord.uploadAsBinary()\' needs \'LocalRecord.state\' to be \'FINISHED\' (current value: \'' + this.state + '\'). Call \'LocalRecorder.stop()\' before'));
} else {
let http = new XMLHttpRequest();
http.open("POST", endpoint, true);
if (typeof headers === 'object') {
for (let key of Object.keys(headers)) {
http.setRequestHeader(key, headers[key]);
}
}
http.onreadystatechange = () => {
if (http.readyState === 4) {
if (http.status.toString().charAt(0) === '2') {
@ -220,7 +227,7 @@ export class LocalRecorder {
});
}
uploadAsMultipartfile(endpoint: string): Promise<any> {
uploadAsMultipartfile(endpoint: string, headers?: any): Promise<any> {
return new Promise((resolve, reject) => {
if (this.state !== LocalRecoderState.FINISHED) {
reject(Error('\'LocalRecord.uploadAsMultipartfile()\' needs \'LocalRecord.state\' to be \'FINISHED\' (current value: \'' + this.state + '\'). Call \'LocalRecorder.stop()\' before'));
@ -228,6 +235,12 @@ export class LocalRecorder {
let http = new XMLHttpRequest();
http.open("POST", endpoint, true);
if (typeof headers === 'object') {
for (let key of Object.keys(headers)) {
http.setRequestHeader(key, headers[key]);
}
}
let sendable = new FormData();
sendable.append("file", this.blob, this.id + ".webm");