32 lines
862 B
TypeScript
32 lines
862 B
TypeScript
import { HttpInterceptorFn } from '@angular/common/http';
|
|
|
|
const TOKEN_KEY = 'token';
|
|
|
|
export const httpInterceptor: HttpInterceptorFn = (req, next) => {
|
|
const token = localStorage.getItem(TOKEN_KEY);
|
|
|
|
// Always add CORS headers
|
|
if (token) {
|
|
return next(
|
|
req.clone({
|
|
setHeaders: {
|
|
Authorization: `Bearer ${token}`,
|
|
'Referrer-Policy': 'no-referrer',
|
|
'Access-Control-Allow-Origin': '*',
|
|
'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',
|
|
'Access-Control-Allow-Headers': '*',
|
|
},
|
|
})
|
|
);
|
|
} else {
|
|
return next(
|
|
req.clone({
|
|
setHeaders: {
|
|
'Access-Control-Allow-Origin': '*',
|
|
'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',
|
|
'Access-Control-Allow-Headers': '*',
|
|
},
|
|
})
|
|
);
|
|
}
|
|
};
|