* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file 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.
package org.openecomp.sdc.be.monitoring;
-import org.eclipse.jetty.client.api.Request;
-import org.eclipse.jetty.client.api.Response;
import org.eclipse.jetty.proxy.ProxyServlet;
import org.openecomp.sdc.be.components.impl.MonitoringBusinessLogic;
import org.openecomp.sdc.be.impl.WebAppContextWrapper;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.net.URI;
public class EsGateway extends ProxyServlet {
private static final Logger log = Logger.getLogger(EsGateway.class);
@Override
- public URI rewriteURI(HttpServletRequest request) {
+ public String rewriteTarget(HttpServletRequest request) {
String originalUrl = request.getRequestURI();
-
String redirectedUrl = getModifiedUrl(request);
log.debug("EsGateway Redirecting request from: {} , to: {}", originalUrl, redirectedUrl);
- return URI.create(redirectedUrl);
- }
-
- @Override
- public void customizeProxyRequest(Request proxyRequest, HttpServletRequest request) {
- super.customizeProxyRequest(proxyRequest, request);
-
- }
-
- @Override
- protected void onResponseSuccess(HttpServletRequest request, HttpServletResponse response, Response proxyResponse) {
- super.onResponseSuccess(request, response, proxyResponse);
+ return redirectedUrl;
}
public String getModifiedUrl(HttpServletRequest request) {
<version>${jetty.version}</version>
<!--<version>9.0.6.v20130930</version>-->
<configuration>
- <contextPath>/</contextPath>
<webApp>
<contextPath>/</contextPath>
<webInfIncludeJarPattern>.*/.*jersey-[^/]\.jar$</webInfIncludeJarPattern>
import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
-import java.net.MalformedURLException;
-import java.net.URL;
import org.eclipse.jetty.client.api.Response;
import org.openecomp.sdc.common.api.Constants;
import org.openecomp.sdc.fe.config.Configuration;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import java.net.MalformedURLException;
+import java.net.URL;
import java.util.concurrent.TimeUnit;
public class FeProxyServlet extends SSLProxyServlet {
private PluginsConfiguration getPluginConfiguration(HttpServletRequest request) {
return ((ConfigurationManager) request.getSession().getServletContext().getAttribute(Constants.CONFIGURATION_MANAGER_ATTR)).getPluginsConfiguration();
}
-
-
private Configuration getConfiguration(HttpServletRequest request) {
return ((ConfigurationManager) request.getSession().getServletContext().getAttribute(Constants.CONFIGURATION_MANAGER_ATTR)).getConfiguration();
}
package org.openecomp.sdc.fe.servlets;
-import org.eclipse.jetty.client.api.Request;
-import org.eclipse.jetty.client.api.Response;
import org.eclipse.jetty.proxy.ProxyServlet;
import org.openecomp.sdc.common.api.Constants;
import org.openecomp.sdc.fe.config.Configuration;
import org.slf4j.LoggerFactory;
import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.net.URI;
public class KibanaServlet extends ProxyServlet {
private static final long serialVersionUID = 1L;
private static Logger log = LoggerFactory.getLogger(KibanaServlet.class.getName());
@Override
- public URI rewriteURI(HttpServletRequest request) {
+ public String rewriteTarget(HttpServletRequest request) {
String originalUrl = request.getRequestURI();
log.debug("KibanaServlet Redirecting request from: {} , to: {}", originalUrl, redirectedUrl);
- return URI.create(redirectedUrl);
- }
-
- @Override
- public void customizeProxyRequest(Request proxyRequest, HttpServletRequest request) {
- super.customizeProxyRequest(proxyRequest, request);
-
- }
-
- @Override
- protected void onResponseSuccess(HttpServletRequest request, HttpServletResponse response, Response proxyResponse) {
-
- super.onResponseSuccess(request, response, proxyResponse);
+ return redirectedUrl;
}
public String getModifiedUrl(HttpServletRequest request) {
package org.openecomp.sdc.fe.servlets;
import org.eclipse.jetty.client.HttpClient;
-import org.eclipse.jetty.client.api.Request;
-import org.eclipse.jetty.http.HttpHeader;
import org.eclipse.jetty.proxy.ProxyServlet;
import org.eclipse.jetty.util.ssl.SslContextFactory;
import org.openecomp.sdc.common.api.Constants;
import org.slf4j.LoggerFactory;
import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import java.util.Enumeration;
public abstract class SSLProxyServlet extends ProxyServlet {
private static final long serialVersionUID = 1L;
private static Logger log = LoggerFactory.getLogger(SSLProxyServlet.class.getName());
-
-
- @Override
- public void customizeProxyRequest(Request proxyRequest, HttpServletRequest request) {
- super.customizeProxyRequest(proxyRequest, request);
- // Add Missing Headers to proxy request
- @SuppressWarnings("unchecked")
- Enumeration<String> headerNames = request.getHeaderNames();
- while (headerNames.hasMoreElements()) {
- String headerName = headerNames.nextElement();
- if (!proxyRequest.getHeaders().containsKey(headerName)) {
- String headerVal = request.getHeader(headerName);
- log.debug("Adding missing header to request, header name: {} , header value: {}", headerName,
- headerVal);
- proxyRequest.header(headerName, headerVal);
- }
- }
- proxyRequest.getHeaders().remove(HttpHeader.HOST);
-
- }
+ //TODO If no problems will arise remove in next merge
+ /*@Override
+ protected void sendProxyRequest(HttpServletRequest clientRequest, HttpServletResponse proxyResponse, Request proxyRequest) {
+ // Add Missing Headers to proxy request
+ @SuppressWarnings("unchecked")
+ Enumeration<String> headerNames = clientRequest.getHeaderNames();
+ while (headerNames.hasMoreElements()) {
+ String headerName = headerNames.nextElement();
+ if (!proxyRequest.getHeaders().containsKey(headerName)) {
+ String headerVal = clientRequest.getHeader(headerName);
+ log.debug("Adding missing header to request, header name: {} , header value: {}", headerName,
+ headerVal);
+ proxyRequest.header(headerName, headerVal);
+ }
+ }
+ proxyRequest.getHeaders().remove(HttpHeader.HOST);
+
+ super.sendProxyRequest(clientRequest, proxyResponse, proxyRequest);
+ }*/
@Override
protected HttpClient createHttpClient() throws ServletException {
// Start HttpClient
try {
httpClient.start();
-
- return httpClient;
} catch (Exception x) {
+ log.error("Exception thrown while starting httpClient {}", x);
throw new ServletException(x);
}
+
+ return httpClient;
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
import java.security.Principal;
import java.util.Collection;
import java.util.Enumeration;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.*;
+import static org.mockito.Mockito.when;
public class FeProxyServletTest {
/*
assertTrue(rewriteURI.equals(expectedChangedUrl));
}
-
-
- @Test
- public void testCustomizeProxyRequest() {
- feProxy.customizeProxyRequest(proxyRequest, servletRequest);
- verify(proxyRequest).header(HEADER_3, HEADER_3_VAL);
- verify(proxyRequest, times(1)).header(Mockito.anyString(), Mockito.anyString());
-
- }
-
@Test
public void testRewriteURIWithWFAPIRequest() {
when(servletRequest.getRequestURI()).thenReturn("/sdc1/feProxy/wf/workflows");
<elastic-search.version>2.4.0</elastic-search.version>
<catalog-artifacts.version>1.0.0-SNAPSHOT</catalog-artifacts.version>
<catalog-builders.version>1.0.0-SNAPSHOT</catalog-builders.version>
- <jetty.version>9.2.22.v20170606</jetty.version>
+ <jetty.version>9.3.20.v20170531</jetty.version>
<!-- JSON and YAML Parsing -->
<jackson.version>2.8.10</jackson.version>
<url>dav:${nexus.proxy}${sitePath}</url>
</site>
</distributionManagement>
-</project>
\ No newline at end of file
+</project>