From 3f7386d4245f9a05db961440ebf80d97d788f902 Mon Sep 17 00:00:00 2001 From: Sudarshan Kumar Date: Fri, 31 Jan 2020 20:08:08 +0530 Subject: Added portal-FE-os components Removed layout from portal-FE-os and added new components in portal-fe-os Issue-ID: PORTAL-795 Change-Id: I3d7f93fa22a7935f9e73ed96802495019aabc129 Signed-off-by: Sudarshan Kumar --- .../app/shared/interceptors/header-interceptor.ts | 73 ++++++++++++++++++++++ portal-FE-os/src/app/shared/utils/utils.js | 21 +++++++ 2 files changed, 94 insertions(+) create mode 100644 portal-FE-os/src/app/shared/interceptors/header-interceptor.ts create mode 100644 portal-FE-os/src/app/shared/utils/utils.js (limited to 'portal-FE-os/src/app/shared') diff --git a/portal-FE-os/src/app/shared/interceptors/header-interceptor.ts b/portal-FE-os/src/app/shared/interceptors/header-interceptor.ts new file mode 100644 index 00000000..bb76e14b --- /dev/null +++ b/portal-FE-os/src/app/shared/interceptors/header-interceptor.ts @@ -0,0 +1,73 @@ +/*- + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ + +import { + HttpEvent, + HttpInterceptor, + HttpHandler, + HttpRequest, + HttpHeaders, +} from '@angular/common/http'; +import { Observable } from 'rxjs'; +import { v4 as uuid } from 'uuid'; +import { Injectable } from '@angular/core'; +declare const getWebJunctionXSRFToken: any; + +@Injectable() +export class HeaderInterceptor implements HttpInterceptor { + intercept(req: HttpRequest, next: HttpHandler): Observable> { + // Clone the request to add the new header + // HttpHeader object immutable - copy values + const headerSettings: { [name: string]: string | string[]; } = {}; + headerSettings['X-ECOMP-RequestID'] = uuid(); + const requestType = req.params.get('requestType'); + + if(requestType!=null && requestType==='fileUpload'){ + //headerSettings['Content-Type'] = 'multipart/form-data'; + }else if(requestType!=null && requestType==='downloadWidgetFile'){ + headerSettings['X-Widgets-Type'] = 'all'; + headerSettings['Content-Type'] = 'application/octet-stream'; + }else{ + headerSettings['Content-Type'] = 'application/json'; + } + 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); + } +} \ No newline at end of file diff --git a/portal-FE-os/src/app/shared/utils/utils.js b/portal-FE-os/src/app/shared/utils/utils.js new file mode 100644 index 00000000..3c99f4ac --- /dev/null +++ b/portal-FE-os/src/app/shared/utils/utils.js @@ -0,0 +1,21 @@ +function getCookies() { + var cookies = { }; + if (document.cookie && document.cookie != '') { + var split = document.cookie.split(';'); + for (var i = 0; i < split.length; i++) { + var name_value = split[i].split("="); + name_value[0] = name_value[0].replace(/^ /, ''); + cookies[decodeURIComponent(name_value[0])] = decodeURIComponent(name_value[1]); + } + } + return cookies; +} + +function getContextRoot(){ + var pathName = window.location.pathname; + var pathArray = pathName.split( '/' ); + var contextRoot=''; + if(pathArray.length!=0 && pathArray.length>=1) + contextRoot = pathArray[1]; + return contextRoot; +} \ No newline at end of file -- cgit 1.2.3-korg