Skip to content

Commit 2efb7c6

Browse files
committed
unify default headers
1 parent 9e66d9a commit 2efb7c6

File tree

4 files changed

+40
-38
lines changed

4 files changed

+40
-38
lines changed

src/API.js

-7
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,6 @@ function Client(httpBaseURL, options = {}) {
4141
});
4242

4343
this.axios.defaults.timeout = 30000;
44-
this.axios.defaults.headers.common['X-Application-Version'] =
45-
VersionNumber.bundleIdentifier +
46-
'@' +
47-
VersionNumber.appVersion +
48-
' (' +
49-
VersionNumber.buildVersion +
50-
')';
5144

5245
if (options.onCredentialsUpdated) {
5346
this.onCredentialsUpdated = options.onCredentialsUpdated;

src/App.js

+22-21
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,22 @@
11
import React, { createRef, useEffect } from 'react';
22
import { LogBox, Platform, useColorScheme } from 'react-native';
33

4+
import * as Sentry from '@sentry/react-native';
5+
import Config from 'react-native-config';
6+
7+
if (!__DEV__) {
8+
Sentry.init({
9+
dsn: Config.SENTRY_DSN,
10+
});
11+
}
12+
13+
import axios from 'axios';
14+
import { defaultHeaders } from './utils/headers';
15+
16+
for (const [key, value] of Object.entries(defaultHeaders())) {
17+
axios.defaults.headers.common[key] = value;
18+
}
19+
420
import { NativeBaseProvider } from 'native-base';
521
import tracker from './analytics/Tracker';
622

@@ -15,29 +31,8 @@ import { I18nextProvider } from 'react-i18next';
1531
import { Provider } from 'react-redux';
1632
import { PersistGate } from 'redux-persist/integration/react';
1733

18-
import axios from 'axios';
19-
import VersionNumber from 'react-native-version-number';
20-
2134
import KeyboardManager from 'react-native-keyboard-manager';
2235

23-
import * as Sentry from '@sentry/react-native';
24-
import Config from 'react-native-config';
25-
26-
if (!__DEV__) {
27-
Sentry.init({
28-
dsn: Config.SENTRY_DSN,
29-
});
30-
}
31-
32-
if (Platform.OS === 'ios') {
33-
KeyboardManager.setEnable(false);
34-
KeyboardManager.setEnableAutoToolbar(false);
35-
KeyboardManager.setToolbarPreviousNextButtonEnable(false);
36-
}
37-
38-
axios.defaults.headers.common['X-CoopCycle-App-Version'] =
39-
VersionNumber.appVersion;
40-
4136
// import i18n first
4237
import i18n from './i18n';
4338

@@ -67,6 +62,12 @@ import {
6762
navigationContainerOnReady,
6863
} from './Datadog';
6964

65+
if (Platform.OS === 'ios') {
66+
KeyboardManager.setEnable(false);
67+
KeyboardManager.setEnableAutoToolbar(false);
68+
KeyboardManager.setToolbarPreviousNextButtonEnable(false);
69+
}
70+
7071
if (Config.APP_ENV === 'test') {
7172
LogBox.ignoreAllLogs(true);
7273
}

src/redux/api/baseQuery.js

+4-10
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import VersionNumber from 'react-native-version-number';
21
import { fetchBaseQuery } from '@reduxjs/toolkit/dist/query/react';
32
import { selectBaseURL, selectLoggedInUser } from '../App/selectors';
43
import { Mutex } from 'async-mutex';
@@ -7,29 +6,24 @@ import AppUser from '../../AppUser';
76
import { logout, setModal } from '../App/actions';
87
import { setUser } from '../middlewares/HttpMiddleware';
98
import { selectCart } from '../Checkout/selectors';
9+
import { defaultHeaders } from '../../utils/headers';
1010

1111
const guestCheckoutEndpoints = [
1212
'getOrderValidate',
1313
'getOrderTiming',
1414
'updateOrder',
1515
];
1616

17-
const appVersion =
18-
VersionNumber.bundleIdentifier +
19-
'@' +
20-
VersionNumber.appVersion +
21-
' (' +
22-
VersionNumber.buildVersion +
23-
')';
24-
2517
// create a new mutex
2618
const mutex = new Mutex();
2719

2820
const buildBaseQuery = (baseUrl, anonymous = false) => {
2921
return fetchBaseQuery({
3022
baseUrl,
3123
prepareHeaders: (headers, { getState, endpoint }) => {
32-
headers.set('X-Application-Version', appVersion);
24+
for (const [key, value] of Object.entries(defaultHeaders())) {
25+
headers.set(key, value);
26+
}
3327

3428
if (!anonymous) {
3529
const loggedInUser = selectLoggedInUser(getState());

src/utils/headers.js

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import VersionNumber from 'react-native-version-number';
2+
3+
export function defaultHeaders() {
4+
return {
5+
'X-Application-Version':
6+
VersionNumber.bundleIdentifier +
7+
'@' +
8+
VersionNumber.appVersion +
9+
' (' +
10+
VersionNumber.buildVersion +
11+
')',
12+
'X-CoopCycle-App-Version': VersionNumber.appVersion,
13+
};
14+
}

0 commit comments

Comments
 (0)