From e568fc778a5201369db994bed0c080f8464eb9b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Krau=C3=9F?= Date: Mon, 17 Jul 2023 14:08:18 +0200 Subject: [PATCH] Upgrade to Spring Boot 3.0.8 --- .github/workflows/maven-publish.yml | 4 ++-- README.md | 2 +- pom.xml | 16 ++++++++++----- .../config/ApplicationConfig.java | 3 +-- .../privacyproxy/routing/RoutingHandler.java | 4 ++-- .../util/PrivacyProxyRoutePlanner.java | 20 +++++++++---------- .../privacyproxy/util/ProxyHelper.java | 19 +++++++++--------- .../privacyproxy/util/RequestUtils.java | 2 +- src/main/resources/application.yml | 3 ++- .../routing/RoutingHandlerTest.java | 4 ++-- .../privacyproxy/util/ProxyHelperTest.java | 2 +- .../privacyproxy/util/RequestUtilsTest.java | 2 +- 12 files changed, 44 insertions(+), 37 deletions(-) diff --git a/.github/workflows/maven-publish.yml b/.github/workflows/maven-publish.yml index 1b39eed..2a97ce5 100644 --- a/.github/workflows/maven-publish.yml +++ b/.github/workflows/maven-publish.yml @@ -14,10 +14,10 @@ jobs: steps: - uses: actions/checkout@v2 - - name: Set up JDK 1.8 + - name: Set up JDK 17 uses: actions/setup-java@v1 with: - java-version: 1.8 + java-version: 17 server-id: sonatype-nexus server-username: MAVEN_USERNAME server-password: MAVEN_PASSWORD diff --git a/README.md b/README.md index eb3d2e5..0f7d00b 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ To build and run this software, you require * A current version of [Maven](https://maven.apache.org/) * A current version of the [OpenJDK](https://developers.redhat.com/products/openjdk/download/) -This project is configured against Java 8. So for the time being you should go with that. +This project is configured against Java 17. So for the time being you should go with that. ### Installing diff --git a/pom.xml b/pom.xml index ce6527d..1e0b710 100644 --- a/pom.xml +++ b/pom.xml @@ -12,17 +12,17 @@ org.springframework.boot spring-boot-starter-parent - 2.7.6 + 3.0.8 - 1.8 + 17 3.1.0 3.1.1 1.6 1.6.13 2.11.0 - 1.33 + 2.0 1.3 @@ -130,6 +130,12 @@ spring-boot-starter-actuator + + io.micrometer + micrometer-tracing-test + test + + commons-io commons-io @@ -137,8 +143,8 @@ - org.apache.httpcomponents - httpclient + org.apache.httpcomponents.client5 + httpclient5 diff --git a/src/main/java/de/tk/opensource/privacyproxy/config/ApplicationConfig.java b/src/main/java/de/tk/opensource/privacyproxy/config/ApplicationConfig.java index 907e033..7b572e8 100644 --- a/src/main/java/de/tk/opensource/privacyproxy/config/ApplicationConfig.java +++ b/src/main/java/de/tk/opensource/privacyproxy/config/ApplicationConfig.java @@ -12,7 +12,6 @@ import org.springframework.retry.RetryContext; import org.springframework.retry.RetryListener; import org.springframework.retry.annotation.EnableRetry; -import org.springframework.retry.listener.RetryListenerSupport; import org.springframework.scheduling.annotation.EnableScheduling; import java.util.Collections; @@ -35,7 +34,7 @@ public List retryListeners() { Logger log = LoggerFactory.getLogger(getClass()); return Collections.singletonList( - new RetryListenerSupport() { + new RetryListener() { @Override public void onError( RetryContext context, diff --git a/src/main/java/de/tk/opensource/privacyproxy/routing/RoutingHandler.java b/src/main/java/de/tk/opensource/privacyproxy/routing/RoutingHandler.java index 700d112..18a4ff7 100644 --- a/src/main/java/de/tk/opensource/privacyproxy/routing/RoutingHandler.java +++ b/src/main/java/de/tk/opensource/privacyproxy/routing/RoutingHandler.java @@ -21,8 +21,8 @@ import org.springframework.web.util.UriComponentsBuilder; import org.springframework.web.util.WebUtils; -import javax.servlet.http.Cookie; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.Cookie; +import jakarta.servlet.http.HttpServletRequest; import java.io.IOException; import java.net.URI; import java.util.ArrayList; diff --git a/src/main/java/de/tk/opensource/privacyproxy/util/PrivacyProxyRoutePlanner.java b/src/main/java/de/tk/opensource/privacyproxy/util/PrivacyProxyRoutePlanner.java index b6ddaf3..a1e1452 100644 --- a/src/main/java/de/tk/opensource/privacyproxy/util/PrivacyProxyRoutePlanner.java +++ b/src/main/java/de/tk/opensource/privacyproxy/util/PrivacyProxyRoutePlanner.java @@ -1,16 +1,17 @@ package de.tk.opensource.privacyproxy.util; -import org.apache.http.HttpException; -import org.apache.http.HttpHost; -import org.apache.http.HttpRequest; -import org.apache.http.conn.routing.HttpRoute; -import org.apache.http.impl.conn.DefaultProxyRoutePlanner; -import org.apache.http.protocol.HttpContext; +import org.apache.hc.client5.http.HttpRoute; +import org.apache.hc.client5.http.impl.routing.DefaultProxyRoutePlanner; +import org.apache.hc.core5.http.HttpException; +import org.apache.hc.core5.http.HttpHost; +import org.apache.hc.core5.http.HttpRequest; +import org.apache.hc.core5.http.protocol.HttpContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.net.MalformedURLException; import java.net.Proxy; +import java.net.URISyntaxException; import java.net.URL; public class PrivacyProxyRoutePlanner extends DefaultProxyRoutePlanner { @@ -23,13 +24,12 @@ public PrivacyProxyRoutePlanner(final ProxyHelper proxyHelper, final HttpHost ht this.proxyHelper = proxyHelper; } - @Override public HttpRoute determineRoute(HttpHost host, HttpRequest request, HttpContext context) throws HttpException { try { if ( Proxy.NO_PROXY.equals( - proxyHelper.selectProxy(new URL(request.getRequestLine().getUri())) + proxyHelper.selectProxy(new URL(request.getRequestUri())) ) ) { LOGGER.debug("No Proxy for - {}", host); @@ -38,11 +38,11 @@ public HttpRoute determineRoute(HttpHost host, HttpRequest request, HttpContext } catch (MalformedURLException e) { LOGGER.error( "Could not build URL for proxy/no-proxy evaluation. Uri: '{}'", - request.getRequestLine().getUri(), + request.getRequestUri(), e ); } LOGGER.debug("Using Proxy for {}", host); - return super.determineRoute(host, request, context); + return super.determineRoute(host, context); } } diff --git a/src/main/java/de/tk/opensource/privacyproxy/util/ProxyHelper.java b/src/main/java/de/tk/opensource/privacyproxy/util/ProxyHelper.java index ef8a161..73c9080 100644 --- a/src/main/java/de/tk/opensource/privacyproxy/util/ProxyHelper.java +++ b/src/main/java/de/tk/opensource/privacyproxy/util/ProxyHelper.java @@ -1,11 +1,12 @@ package de.tk.opensource.privacyproxy.util; -import org.apache.http.HttpHost; -import org.apache.http.client.config.RequestConfig; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClients; -import org.apache.http.impl.conn.DefaultRoutePlanner; -import org.apache.http.impl.conn.SystemDefaultRoutePlanner; +import org.apache.hc.client5.http.config.RequestConfig; +import org.apache.hc.client5.http.impl.classic.CloseableHttpClient; +import org.apache.hc.client5.http.impl.classic.HttpClients; +import org.apache.hc.client5.http.impl.routing.DefaultRoutePlanner; +import org.apache.hc.client5.http.impl.routing.SystemDefaultRoutePlanner; +import org.apache.hc.core5.http.HttpHost; +import org.apache.hc.core5.util.Timeout; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.util.StringUtils; @@ -129,9 +130,9 @@ public Proxy selectProxy(URL url) { public CloseableHttpClient getCloseableHttpClient() { final RequestConfig requestConfig = - RequestConfig.custom().setConnectTimeout(ROUTING_TIMEOUT_MILLISECONDS) - .setConnectionRequestTimeout(ROUTING_TIMEOUT_MILLISECONDS).setSocketTimeout( - ROUTING_TIMEOUT_MILLISECONDS + RequestConfig.custom().setConnectTimeout(Timeout.ofMilliseconds(ROUTING_TIMEOUT_MILLISECONDS)) + .setConnectionRequestTimeout(Timeout.ofMilliseconds(ROUTING_TIMEOUT_MILLISECONDS)).setResponseTimeout( + Timeout.ofMilliseconds(ROUTING_TIMEOUT_MILLISECONDS) ) .build(); return HttpClients.custom().setDefaultRequestConfig(requestConfig).setRoutePlanner( diff --git a/src/main/java/de/tk/opensource/privacyproxy/util/RequestUtils.java b/src/main/java/de/tk/opensource/privacyproxy/util/RequestUtils.java index 0bb5e14..081aa2e 100644 --- a/src/main/java/de/tk/opensource/privacyproxy/util/RequestUtils.java +++ b/src/main/java/de/tk/opensource/privacyproxy/util/RequestUtils.java @@ -4,7 +4,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import java.io.UnsupportedEncodingException; import java.net.*; import java.nio.charset.StandardCharsets; diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 760c16f..44d6f04 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -4,7 +4,8 @@ spring: server: port: 2907 logging: - file: log/3rdparty-privacy-proxy.log + file: + name: log/3rdparty-privacy-proxy.log level: ROOT: INFO de.tk.opensource.privacyproxy: INFO diff --git a/src/test/java/de/tk/opensource/privacyproxy/routing/RoutingHandlerTest.java b/src/test/java/de/tk/opensource/privacyproxy/routing/RoutingHandlerTest.java index 662027f..3b62f44 100644 --- a/src/test/java/de/tk/opensource/privacyproxy/routing/RoutingHandlerTest.java +++ b/src/test/java/de/tk/opensource/privacyproxy/routing/RoutingHandlerTest.java @@ -5,8 +5,8 @@ import org.springframework.http.HttpHeaders; import org.springframework.mock.web.MockHttpServletRequest; -import javax.servlet.http.Cookie; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.Cookie; +import jakarta.servlet.http.HttpServletRequest; import java.util.Collections; import java.util.HashMap; import java.util.LinkedHashMap; diff --git a/src/test/java/de/tk/opensource/privacyproxy/util/ProxyHelperTest.java b/src/test/java/de/tk/opensource/privacyproxy/util/ProxyHelperTest.java index b19ff13..4039706 100644 --- a/src/test/java/de/tk/opensource/privacyproxy/util/ProxyHelperTest.java +++ b/src/test/java/de/tk/opensource/privacyproxy/util/ProxyHelperTest.java @@ -1,6 +1,6 @@ package de.tk.opensource.privacyproxy.util; -import org.apache.http.impl.conn.SystemDefaultRoutePlanner; +import org.apache.hc.client5.http.impl.routing.SystemDefaultRoutePlanner; import org.junit.jupiter.api.Test; import java.net.InetSocketAddress; diff --git a/src/test/java/de/tk/opensource/privacyproxy/util/RequestUtilsTest.java b/src/test/java/de/tk/opensource/privacyproxy/util/RequestUtilsTest.java index 6c466ba..40298b4 100644 --- a/src/test/java/de/tk/opensource/privacyproxy/util/RequestUtilsTest.java +++ b/src/test/java/de/tk/opensource/privacyproxy/util/RequestUtilsTest.java @@ -2,7 +2,7 @@ import org.junit.jupiter.api.Test; -import javax.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletRequest; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.*;