aboutsummaryrefslogtreecommitdiff
path: root/FrontEnd/src/app/http/common.ts
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2021-01-11 21:58:32 +0800
committerGitHub <noreply@github.com>2021-01-11 21:58:32 +0800
commit5d3a3111bbc349d5d5ff0a4ed92f97b14a9d65fe (patch)
treed635081fb6eaa0222270bfb4ac29906fb767a9bd /FrontEnd/src/app/http/common.ts
parent777efa6e0405f4e871de4da21b939e30ed07f754 (diff)
parent26f02d90c2571251b32c3b03b970dd290e3892e6 (diff)
downloadtimeline-5d3a3111bbc349d5d5ff0a4ed92f97b14a9d65fe.tar.gz
timeline-5d3a3111bbc349d5d5ff0a4ed92f97b14a9d65fe.tar.bz2
timeline-5d3a3111bbc349d5d5ff0a4ed92f97b14a9d65fe.zip
Merge pull request #206 from crupest/front-dev
Front development.
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"];
+}