@@ -6,25 +6,60 @@ const getHeaders = (): Promise<string> => new Promise(resolve => {
66 } ) ;
77} ) ;
88
9- const AxiosInstanceWithJWT = axios . create ( {
9+ const axiosRest = axios . create ( {
1010 timeout : 3000
1111} ) ;
12-
1312// Adding the token in the headers through interceptors because it is an async value
14- AxiosInstanceWithJWT . interceptors . request . use ( async ( config ) => {
13+ axiosRest . interceptors . request . use ( async ( config ) => {
1514 config . headers . Authorization = await getHeaders ( ) ;
1615 return config ;
1716} ) ;
1817
19- const AxiosInstanceWithGHToken = async ( gitHubToken : string ) => axios . create ( {
20- timeout : 3000 ,
21- headers : {
22- "github-auth" : gitHubToken ,
23- Authorization : await getHeaders ( )
18+ /*
19+ * IMPORTANT
20+ * This is a secret store of the github access token
21+ * DO NOT export/exposed this store
22+ * Only write operation is allowed
23+ */
24+ let gitHubToken : string | undefined = undefined ;
25+
26+ const clearGitHubToken = ( ) => {
27+ gitHubToken = undefined ;
28+ }
29+
30+ const setGitHubToken = ( newToken : string ) => {
31+ gitHubToken = newToken ;
32+ }
33+
34+ const hasGitHubToken = ( ) => {
35+ if ( ! ! gitHubToken ) {
36+ return true ;
2437 }
38+ return false ;
39+ }
40+
41+ const axiosGitHub = axios . create ( {
42+ timeout : 3000
43+ } ) ;
44+ axiosGitHub . interceptors . request . use ( async ( config ) => {
45+ config . headers [ "Authorization" ] = `Bearer ${ gitHubToken } ` ;
46+ return config ;
47+ } ) ;
48+
49+ const axiosRestWithGitHubToken = axios . create ( {
50+ timeout : 3000
51+ } ) ;
52+ axiosRestWithGitHubToken . interceptors . request . use ( async ( config ) => {
53+ config . headers . Authorization = await getHeaders ( ) ;
54+ config . headers [ "github-auth" ] = gitHubToken ;
55+ return config ;
2556} ) ;
2657
2758export {
28- AxiosInstanceWithJWT ,
29- AxiosInstanceWithGHToken
59+ axiosGitHub ,
60+ axiosRest ,
61+ axiosRestWithGitHubToken ,
62+ clearGitHubToken ,
63+ setGitHubToken ,
64+ hasGitHubToken ,
3065} ;
0 commit comments