diff --git a/common/src/services/api.service.ts b/common/src/services/api.service.ts index d9e0265b7b..b31a1b7354 100644 --- a/common/src/services/api.service.ts +++ b/common/src/services/api.service.ts @@ -428,13 +428,19 @@ export class ApiService implements ApiServiceAbstraction { } async postSendAccess(id: string, request: SendAccessRequest, apiUrl?: string): Promise { - const r = await this.send('POST', '/sends/access/' + id, request, false, true, apiUrl); + const addSendIdHeader = (headers: Headers) => { + headers.set('Send-Id', id); + }; + const r = await this.send('POST', '/sends/access/' + id, request, false, true, apiUrl, addSendIdHeader); return new SendAccessResponse(r); } - async getSendFileDownloadData(send: SendAccessView, request: SendAccessRequest, apiUrl?: string): Promise { - const r = await this.send('POST', '/sends/' + send.id + '/access/file/' + send.file.id, request, false, true, apiUrl); + const addSendIdHeader = (headers: Headers) => { + headers.set('Send-Id', send.id); + }; + const r = await this.send('POST', '/sends/' + send.id + '/access/file/' + send.file.id, request, false, true, + apiUrl, addSendIdHeader); return new SendFileDownloadDataResponse(r); } @@ -1353,7 +1359,8 @@ export class ApiService implements ApiServiceAbstraction { } private async send(method: 'GET' | 'POST' | 'PUT' | 'DELETE', path: string, body: any, - authed: boolean, hasResponse: boolean, apiUrl?: string): Promise { + authed: boolean, hasResponse: boolean, apiUrl?: string, + alterHeaders?: (headers: Headers) => void): Promise { apiUrl = Utils.isNullOrWhitespace(apiUrl) ? this.apiBaseUrl : apiUrl; const headers = new Headers({ 'Device-Type': this.deviceType, @@ -1388,6 +1395,9 @@ export class ApiService implements ApiServiceAbstraction { if (hasResponse) { headers.set('Accept', 'application/json'); } + if (alterHeaders != null) { + alterHeaders(headers); + } requestInit.headers = headers; const response = await this.fetch(new Request(apiUrl + path, requestInit));