38 lines
1.3 KiB
TypeScript
38 lines
1.3 KiB
TypeScript
import {Injectable} from '@angular/core';
|
||
import {Observable} from 'rxjs/Observable';
|
||
import {HttpEvent, HttpInterceptor, HttpHandler, HttpRequest, HttpResponse, HttpErrorResponse} from '@angular/common/http';
|
||
import { TokenService, TokenProvider } from './token.service';
|
||
|
||
|
||
@Injectable()
|
||
export class GlobalInterceptor implements HttpInterceptor {
|
||
|
||
constructor(private tokenService: TokenService) {
|
||
|
||
}
|
||
|
||
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
|
||
|
||
return next.handle(req).do((event: HttpEvent<any>) => {
|
||
/*
|
||
if (event instanceof HttpResponse) {
|
||
console.log("response ok");
|
||
}
|
||
*/
|
||
}, (err: any) => {
|
||
if (err instanceof HttpErrorResponse) {debugger;
|
||
if (err.status === 401) {
|
||
var auth2 = gapi.auth2.getAuthInstance();
|
||
auth2.signOut().then(function () {
|
||
console.log('User signed out.');
|
||
localStorage.removeItem('currentUser');
|
||
this.router.navigate(['/login-page']);
|
||
});
|
||
this.tokenService.setToken(null);
|
||
//EDW VALE TO KWDIKA GIA TO LOGOUT KAI SXOLIASE TON OPOU ALLOU TON EXEIS
|
||
}
|
||
}
|
||
});
|
||
|
||
}
|
||
} |