From a2df8ac183059eb2f2b815ce0151e6af340590d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kassim=20H=C3=B6lting?= Date: Tue, 3 Jan 2023 09:19:31 +0100 Subject: [PATCH 1/4] next dev version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 2a255b2..ce6527d 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ de.tk.opensource 3rdparty-privacy-proxy - 1.1.0 + 1.1.1-SNAPSHOT jar 3rd Party Privacy Proxy (Open Source) 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 2/4] 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.*; From 261c0edc8f0f205f97a1a734be6901865ec1bfb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Krau=C3=9F?= Date: Tue, 18 Jul 2023 13:35:54 +0200 Subject: [PATCH 3/4] Require openjdk17 for Travis CI --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index f237e08..291bdc6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,5 @@ language: java +jdk: openjdk17 script: # the following command line builds the project, runs the tests with coverage From 45832d9c589ab80e7b21a5a434b765501c8535bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Krau=C3=9F?= Date: Fri, 4 Aug 2023 13:16:52 +0200 Subject: [PATCH 4/4] release version 1.2.0 bump --- RELEASENOTES.md | 3 +++ pom.xml | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 5d0a99c..0caaefa 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -1,4 +1,7 @@ # Release notes +## 1.2.0 +* Upgrade to Spring-Boot 3.0.8 +* Upgrade to Java 17 ## 1.1.0 * Updated to Spring-Boot 2.7.6 * Dependencies maintained diff --git a/pom.xml b/pom.xml index 1e0b710..3e05324 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ de.tk.opensource 3rdparty-privacy-proxy - 1.1.1-SNAPSHOT + 1.2.0 jar 3rd Party Privacy Proxy (Open Source)