diff options
Diffstat (limited to 'ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared')
4 files changed, 64 insertions, 12 deletions
diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/interceptors/header-interceptor.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/interceptors/header-interceptor.ts index 5a5a41a8..1539877c 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/interceptors/header-interceptor.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/interceptors/header-interceptor.ts @@ -42,21 +42,27 @@ import { HttpHandler, HttpRequest, HttpHeaders, + HttpErrorResponse } from '@angular/common/http'; -import { Observable } from 'rxjs'; +import { Observable, throwError} from 'rxjs'; import { v4 as uuid } from 'uuid'; -declare const getWebJunctionXSRFToken: any; +import { catchError } from 'rxjs/internal/operators/catchError'; +import { environment } from '../../../environments/environment'; + +function nthIndex(str, pat, n) { + var L = str.length, i = -1; + while (n-- && i++ < L) { + i = str.indexOf(pat, i); + if (i < 0) break; + } + return i; +} + export class HeaderInterceptor implements HttpInterceptor { intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> { - // Clone the request to add the new header - // HttpHeader object immutable - copy values - var XSRFToken = getWebJunctionXSRFToken(); - console.log('XSRFToken:', XSRFToken); const headerSettings: { [name: string]: string | string[]; } = {}; headerSettings['X-ECOMP-RequestID'] = uuid(); const requestType = req.params.get('requestType'); - if (XSRFToken.name && XSRFToken.value) - headerSettings['X-XSRF-TOKEN'] = XSRFToken.value; if(requestType!=null && requestType==='fileUpload'){ //headerSettings['Content-Type'] = 'multipart/form-data'; }else{ @@ -65,6 +71,23 @@ export class HeaderInterceptor implements HttpInterceptor { const newHeader = new HttpHeaders(headerSettings); const clonedRequest = req.clone({ headers: newHeader, withCredentials: true }); // Pass the cloned request instead of the original request to the next handle - return next.handle(clonedRequest); + //return next.handle(clonedRequest); + var url = ''; + return next.handle(clonedRequest).pipe( + catchError(error => { + if ( error instanceof HttpErrorResponse ) { + if ( error.status === 0 ) { // If 0(302) Redirect to Login Page + if(window.location.pathname.split('/').length > 3) { + var portNum = ( window.location.port === '' || window.location.port === '0' ) ? '' : ':'+ window.location.port; + url = window.location.protocol + "//" + window.location.hostname + portNum + window.location.pathname.substring(0, nthIndex(window.location.pathname, "/", 2) + 0) + '/login.htm'; + window.open( url, '_self' ); + } else { + window.open( environment.baseUrl + 'login.htm', '_self' ); + } + } + } + return throwError(error); + }) + ); } }
\ No newline at end of file diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/services/displayArea/display-area.service.spec.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/services/displayArea/display-area.service.spec.ts new file mode 100644 index 00000000..f8324dac --- /dev/null +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/services/displayArea/display-area.service.spec.ts @@ -0,0 +1,13 @@ +// import { TestBed } from '@angular/core/testing'; + +// import { DisplayAreaService } from './display-area.service'; + +// describe('DisplayAreaService', () => { +// beforeEach(() => TestBed.configureTestingModule({})); + +// it('should be created', () => { +// const service: DisplayAreaService = TestBed.get(DisplayAreaService); +// expect(service).toBeTruthy(); +// }); +// }); + diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/services/displayArea/display-area.service.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/services/displayArea/display-area.service.ts new file mode 100644 index 00000000..71433031 --- /dev/null +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/services/displayArea/display-area.service.ts @@ -0,0 +1,16 @@ +import { Injectable } from '@angular/core'; +import { HttpClient } from '@angular/common/http'; +import { Observable } from 'rxjs'; +import { environment } from '../../../../environments/environment'; +@Injectable({ + providedIn: 'root' +}) +export class DisplayAreaService { + + constructor(private _http : HttpClient) { } + + getMenuIdSpecificReports(menuId : string) : Observable<any> + { + return this._http.get(environment.baseUrl + "raptor.htm?action=quicklinks.json&quick_links_menu_id=" + menuId); + } +} diff --git a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/services/user/user.service.ts b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/services/user/user.service.ts index 44d9e5ef..4c4a01c3 100644 --- a/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/services/user/user.service.ts +++ b/ecomp-sdk/epsdk-app-overlay/src/main/webapp/ngapp/src/app/shared/services/user/user.service.ts @@ -20,7 +20,7 @@ data; observable; getFunctionalMenuStaticDetailSession2(){ - return this.http.get(environment.getTopMenu,{ withCredentials: true }) + return this.http.get(environment.getFunctionalMenuStaticDetail,{ withCredentials: true }) .subscribe((results: Object) => { this.user = new User(results); }); @@ -30,7 +30,7 @@ getFunctionalMenuStaticDetailSession2(){ public getFunctionalMenuStaticDetailSession(): Observable<User> { return this.http - .get(environment.getTopMenu,{ withCredentials: true }) + .get(environment.getFunctionalMenuStaticDetail,{ withCredentials: true }) .map(response => { return new User(response); }) @@ -43,7 +43,7 @@ getFunctionalMenuStaticDetailSession1() { } else if (this.observable) { return this.observable; } else { - this.observable = this.http.get(environment.getTopMenu, { + this.observable = this.http.get(environment.getFunctionalMenuStaticDetail, { withCredentials: true, observe: 'response' }) |