From 5af754b4d8fb9806c8b9e9facda095d3f33af159 Mon Sep 17 00:00:00 2001 From: Rui Tome Date: Thu, 19 Dec 2024 15:13:16 +0000 Subject: [PATCH] Add 'Accept-Language' header to ApiService requests with value obtained from i18nService --- libs/angular/src/services/jslib-services.module.ts | 1 + libs/common/src/services/api.service.ts | 3 +++ 2 files changed, 4 insertions(+) diff --git a/libs/angular/src/services/jslib-services.module.ts b/libs/angular/src/services/jslib-services.module.ts index 0765fd8e4c6..dd856f0274c 100644 --- a/libs/angular/src/services/jslib-services.module.ts +++ b/libs/angular/src/services/jslib-services.module.ts @@ -676,6 +676,7 @@ const safeProviders: SafeProvider[] = [ LogService, LOGOUT_CALLBACK, VaultTimeoutSettingsServiceAbstraction, + I18nServiceAbstraction, ], }), safeProvider({ diff --git a/libs/common/src/services/api.service.ts b/libs/common/src/services/api.service.ts index dc0a8d61f64..c2e1028e71d 100644 --- a/libs/common/src/services/api.service.ts +++ b/libs/common/src/services/api.service.ts @@ -127,6 +127,7 @@ import { ProfileResponse } from "../models/response/profile.response"; import { UserKeyResponse } from "../models/response/user-key.response"; import { AppIdService } from "../platform/abstractions/app-id.service"; import { EnvironmentService } from "../platform/abstractions/environment.service"; +import { I18nService } from "../platform/abstractions/i18n.service"; import { LogService } from "../platform/abstractions/log.service"; import { PlatformUtilsService } from "../platform/abstractions/platform-utils.service"; import { flagEnabled } from "../platform/misc/flags"; @@ -168,6 +169,7 @@ export class ApiService implements ApiServiceAbstraction { private logService: LogService, private logoutCallback: (logoutReason: LogoutReason) => Promise, private vaultTimeoutSettingsService: VaultTimeoutSettingsService, + private i18nService: I18nService, private customUserAgent: string = null, ) { this.device = platformUtilsService.getDevice(); @@ -1594,6 +1596,7 @@ export class ApiService implements ApiServiceAbstraction { "Bitwarden-Client-Version", await this.platformUtilsService.getApplicationVersionNumber(), ); + request.headers.set("Accept-Language", await firstValueFrom(this.i18nService.locale$)); return this.nativeFetch(request); }