@@ -44,7 +44,9 @@ export interface AdditionalOptions {
4444 formData ?: boolean ;
4545 isCsvRequest ?: boolean ;
4646 enforceEnglishForQuery ?: boolean ;
47+ // FIXME using the current language should be default behaviour so we might not need this.
4748 useCurrentLanguageForMutation ?: boolean ;
49+ enforceLanguageForMutation ?: Language ;
4850 isExcelRequest ?: boolean ;
4951}
5052
@@ -167,6 +169,7 @@ export const processGoOptions: GoContextInterface['transformOptions'] = (
167169 isExcelRequest,
168170 enforceEnglishForQuery = false ,
169171 useCurrentLanguageForMutation = false ,
172+ enforceLanguageForMutation,
170173 } = extraOptions ;
171174
172175 const currentLanguage = getFromStorage < Language > ( KEY_LANGUAGE_STORAGE ) ?? 'en' ;
@@ -180,9 +183,17 @@ export const processGoOptions: GoContextInterface['transformOptions'] = (
180183 if ( method === 'GET' ) {
181184 // Query
182185 defaultHeaders [ 'Accept-Language' ] = enforceEnglishForQuery ? 'en' : currentLanguage ;
183- } else {
186+ } else if ( method === 'POST' || method === 'PUT' || method === 'PATCH' ) {
184187 // Mutation
185- defaultHeaders [ 'Accept-Language' ] = useCurrentLanguageForMutation ? currentLanguage : 'en' ;
188+ if ( isDefined ( enforceLanguageForMutation ) ) {
189+ defaultHeaders [ 'Accept-Language' ] = enforceLanguageForMutation ;
190+ } else if ( useCurrentLanguageForMutation ) {
191+ defaultHeaders [ 'Accept-Language' ] = currentLanguage ;
192+ } else {
193+ defaultHeaders [ 'Accept-Language' ] = 'en' ;
194+ }
195+ } else {
196+ defaultHeaders [ 'Accept-Language' ] = currentLanguage ?? 'en' ;
186197 }
187198
188199 if ( formData ) {
0 commit comments