summaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/shared/utils/httpInterceptor
diff options
context:
space:
mode:
authorSonsino, Ofir (os0695) <os0695@intl.att.com>2018-07-10 15:57:37 +0300
committerSonsino, Ofir (os0695) <os0695@intl.att.com>2018-07-10 15:57:37 +0300
commitff76b5ed0aa91d5fdf9dc4f95e8b20f91ed9d072 (patch)
treeaae42404a93fdffdd16ff050eaa28129959f7577 /vid-webpack-master/src/app/shared/utils/httpInterceptor
parentc72d565bb58226b20625b2bce5f0019046bee649 (diff)
New Angular UI from 1806
Change-Id: I39c160db0e0a6ec2e587ccf007ee1b23c6a08666 Issue-ID: VID-208 Signed-off-by: Sonsino, Ofir (os0695) <os0695@intl.att.com>
Diffstat (limited to 'vid-webpack-master/src/app/shared/utils/httpInterceptor')
-rw-r--r--vid-webpack-master/src/app/shared/utils/httpInterceptor/httpInterceptor.service.ts32
1 files changed, 32 insertions, 0 deletions
diff --git a/vid-webpack-master/src/app/shared/utils/httpInterceptor/httpInterceptor.service.ts b/vid-webpack-master/src/app/shared/utils/httpInterceptor/httpInterceptor.service.ts
new file mode 100644
index 000000000..be9ade080
--- /dev/null
+++ b/vid-webpack-master/src/app/shared/utils/httpInterceptor/httpInterceptor.service.ts
@@ -0,0 +1,32 @@
+import { Injectable } from '@angular/core';
+import {
+ HttpInterceptor,
+ HttpRequest,
+ HttpHandler,
+ HttpEvent, HttpErrorResponse
+} from '@angular/common/http';
+
+import { Observable } from 'rxjs/Observable';
+import { ErrorMessage, ErrorService } from '../../components/error/error.component.service';
+import { SpinnerComponent } from '../../components/spinner/spinner.component';
+
+@Injectable()
+export class HttpInterceptorService implements HttpInterceptor {
+ intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
+ SpinnerComponent.showSpinner.next(true);
+ return next.handle(request)
+ .catch((err: HttpErrorResponse) => {
+ if (err.status === 500) {
+ const errorMessage: ErrorMessage = new ErrorMessage('Server not available',
+ 'It appears that one of the backend servers is not responding.\n Please try later.',
+ 500);
+ ErrorService.showErrorWithMessage(errorMessage);
+ return Observable.of(null);
+ }
+ return Observable.throw(err);
+ }).finally(() => {
+ SpinnerComponent.showSpinner.next(false);
+ });
+ }
+}
+