Reorganiza service to make use of dynamic config
[arvados-workbench2.git] / src / common / api / server-api.ts
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 import Axios, { AxiosInstance } from "axios";
6
7 export const API_HOST = process.env.REACT_APP_ARVADOS_API_HOST;
8
9 export const authClient: AxiosInstance = Axios.create();
10 export const apiClient: AxiosInstance = Axios.create();
11
12 export function setServerApiAuthorizationHeader(token: string) {
13     [authClient, apiClient].forEach(client => {
14         client.defaults.headers.common = {
15             Authorization: `OAuth2 ${token}`
16         };
17     });
18 }
19
20 export function removeServerApiAuthorizationHeader() {
21     [authClient, apiClient].forEach(client => {
22         delete client.defaults.headers.common.Authorization;
23     });
24 }
25
26 export const setBaseUrl = (url: string) => {
27     authClient.defaults.baseURL = url;
28     apiClient.defaults.baseURL = url + "/arvados/v1";
29 };