From: andre.schmid Date: Tue, 21 Apr 2020 13:01:21 +0000 (+0100) Subject: Fix 404 in sdc-FE calls to workflow X-Git-Tag: 1.6.5~5 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=c27b98e43b407a9b6ef1394b63d6fa9f5fc1f615;p=sdc.git Fix 404 in sdc-FE calls to workflow Fixes webpack workflow proxy configuration. Fixes FE proxy while rewriting URLs to workflow plugin. Fixes compilation problems to run locally the catalog-ui. Change-Id: I89f3f46bd8ce0159713b1d0d957a2e75f8a3d062 Issue-ID: SDC-2943 Signed-off-by: andre.schmid (cherry picked from commit ac26dc0d5c5f7fce65e214c31e26e7178e492d5b) --- diff --git a/catalog-fe/src/main/java/org/openecomp/sdc/fe/servlets/FeProxyServlet.java b/catalog-fe/src/main/java/org/openecomp/sdc/fe/servlets/FeProxyServlet.java index 3ea660abbe..8f76cb95ab 100644 --- a/catalog-fe/src/main/java/org/openecomp/sdc/fe/servlets/FeProxyServlet.java +++ b/catalog-fe/src/main/java/org/openecomp/sdc/fe/servlets/FeProxyServlet.java @@ -46,7 +46,7 @@ import static org.apache.commons.lang3.StringUtils.isEmpty; public class FeProxyServlet extends SSLProxyServlet { private static final long serialVersionUID = 1L; - private static final String URL = "%s://%s%s"; + private static final String URL = "%s://%s%s%s"; private static final String MS_URL = "%s://%s:%s"; private static final String ONBOARDING_CONTEXT = "/onboarding-api"; private static final String DCAED_CONTEXT = "/dcae-api"; @@ -134,6 +134,7 @@ public class FeProxyServlet extends SSLProxyServlet { String protocol; String host; String port; + String path = ""; if (uri.contains(ONBOARDING_CONTEXT)){ uri = uri.replace(SDC1_FE_PROXY+ONBOARDING_CONTEXT,ONBOARDING_CONTEXT); protocol = config.getOnboarding().getProtocolBe(); @@ -160,6 +161,7 @@ public class FeProxyServlet extends SSLProxyServlet { java.net.URL workflowURL = new URL(workflowPluginURL); protocol = workflowURL.getProtocol(); host = workflowURL.getHost(); + path = workflowURL.getPath(); port = String.valueOf(workflowURL.getPort()); } else{ @@ -173,15 +175,15 @@ public class FeProxyServlet extends SSLProxyServlet { } } - String authority = getAuthority(host, port); - String modifiedUrl = String.format(URL,protocol,authority,uri); - if( !StringUtils.isEmpty(queryString)){ + final String authority = getAuthority(host, port); + String modifiedUrl = String.format(URL, protocol, authority, path, uri); + if (StringUtils.isNotEmpty(queryString)) { modifiedUrl += "?" + queryString; } - return modifiedUrl; - + return modifiedUrl; } + @VisibleForTesting String redirectMsRequestToMservice(HttpServletRequest request, Configuration config) throws MalformedURLException { @@ -299,11 +301,10 @@ private PluginsConfiguration getPluginConfiguration(HttpServletRequest request) private String getAuthority(String host, String port) { String authority; - if (port==null){ - authority=host; - } - else{ - authority=host+":"+port; + if (port == null) { + authority = host; + } else { + authority = host + ":" + port; } return authority; } diff --git a/catalog-ui/webpack.server.js b/catalog-ui/webpack.server.js index 0d43fa1d86..ab8678536c 100644 --- a/catalog-ui/webpack.server.js +++ b/catalog-ui/webpack.server.js @@ -5,16 +5,8 @@ const devPort = 9000; const fePort = 8181; const feHost = "localhost"; const protocol="http"; -const isDirectToFE = false; +const isDirectToFE = true; -/* -For kubernetes -const fePort = 30207; -const wfPort = 30256; -const feHost = "kubernetes_master"; -const protocol="https"; -const isDirectToFE = true;// whether to proxy to the k8s proxy or to the BE -*/ const portalCookieValue = "randomValue"; //for dev solely, in production - the webseal would add the cookie by itself. module.exports = function (env) { @@ -56,15 +48,11 @@ module.exports = function (env) { secure: false, logLevel: 'debug' } - if (isDirectToFE) { - feProxyOptions.pathRewrite= { - '^/sdc1/feProxy/rest' : '/sdc1/feProxy/rest' - } - } else { - feProxyOptions.pathRewrite= { - '^/sdc1/feProxy/rest' : '/sdc2/rest' - } - } + if (!isDirectToFE) { + feProxyOptions.pathRewrite= { + '^/sdc1/feProxy/rest' : '/sdc2/rest' + } + } middlewares.push( proxy(['/sdc1/feProxy/rest'], feProxyOptions)); @@ -106,14 +94,11 @@ module.exports = function (env) { // Redirect workflow urls to feHost middlewares.push( - proxy(['/sdc1/feProxy/wf', '/wf'], { - target: protocol + '://' + feHost + ':' + wfPort, + proxy(['/wf', '/sdc1/feProxy/wf'], { + target: protocol + '://' + feHost + ':' + fePort, changeOrigin: true, logLevel: 'debug', secure: false, - pathRewrite: { - '^/sdc1/feProxy' : '' - }, onProxyRes: (proxyRes, req, res) => { let setCookie = proxyRes.headers['set-cookie']; if (setCookie) {