aboutsummaryrefslogtreecommitdiff
path: root/FrontEnd/src/app/http/common.ts
diff options
context:
space:
mode:
Diffstat (limited to 'FrontEnd/src/app/http/common.ts')
-rw-r--r--FrontEnd/src/app/http/common.ts26
1 files changed, 25 insertions, 1 deletions
diff --git a/FrontEnd/src/app/http/common.ts b/FrontEnd/src/app/http/common.ts
index 54203d1a..0f46280c 100644
--- a/FrontEnd/src/app/http/common.ts
+++ b/FrontEnd/src/app/http/common.ts
@@ -1,7 +1,27 @@
-import { AxiosError, AxiosResponse } from "axios";
+import rawAxios, { AxiosError, AxiosResponse } from "axios";
export const apiBaseUrl = "/api";
+export const axios = rawAxios.create();
+
+let _token: string | null = null;
+
+export function getHttpToken(): string | null {
+ return _token;
+}
+
+export function setHttpToken(token: string | null): void {
+ _token = token;
+
+ if (token == null) {
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
+ delete axios.defaults.headers.common["Authorization"];
+ } else {
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
+ axios.defaults.headers.common["Authorization"] = `Bearer ${token}`;
+ }
+}
+
export function base64(blob: Blob): Promise<string> {
return new Promise<string>((resolve) => {
const reader = new FileReader();
@@ -159,3 +179,7 @@ export function convertToBlobWithEtag(res: AxiosResponse<Blob>): BlobWithEtag {
etag: (res.headers as Record<"etag", string>)["etag"],
};
}
+
+export function extractEtag(res: AxiosResponse): string {
+ return (res.headers as Record<"etag", string>)["etag"];
+}