diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 1ffdd31..0fe426e 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -25,16 +25,6 @@ jobs: steps: - uses: actions/checkout@v2 - - name: Set up JDK 1.8 - uses: actions/setup-java@v1 - with: - java-version: 1.8 - - name: Build with Maven - env: - HTTPCLIENT_VERSION: ${{ matrix.HTTPCLIENT_VERSION }} - HTTPCLIENT_TEST_VERSION: ${{ matrix.HTTPCLIENT_TEST_VERSION }} - JDOC: ${{ matrix.JDOC }} - run: mvn -B -Dhttpclient.version=$HTTPCLIENT_VERSION -Dhttpclient.test.version=$HTTPCLIENT_TEST_VERSION verify $JDOC - name: Set up JDK 11 uses: actions/setup-java@v1 with: diff --git a/pom.xml b/pom.xml index d019b02..4378d03 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ org.mitre.dsmiley.httpproxy smiley-http-proxy-servlet - 1.13-SNAPSHOT + 2.0-SNAPSHOT jar Smiley's HTTP Proxy Servlet @@ -54,11 +54,10 @@ - - javax.servlet - javax.servlet-api - 3.1.0 + jakarta.servlet + jakarta.servlet-api + 5.0.0 provided @@ -84,9 +83,9 @@ - httpunit + com.github.hazendaz.httpunit httpunit - 1.7 + 2.0.0 test @@ -106,7 +105,7 @@ org.eclipse.jetty jetty-servlet - 9.4.30.v20200611 + 11.0.13 test @@ -147,8 +146,8 @@ org.apache.http.util; version="0", org.apache.http.client.utils;version="0", org.apache.http.client.methods;version="0", - javax.servlet;version="0", - javax.servlet.http;version="0", + jakarta.servlet;version="0", + jakarta.servlet.http;version="0", javax.net.ssl;version="0", org.apache.http.client.config;version="0" @@ -191,6 +190,41 @@ 3.9.1 + + org.apache.maven.plugins + maven-shade-plugin + 3.2.2 + + + javax + package + + shade + + + javax + true + false + + + ${project.groupId}:${project.artifactId} + + + + + jakarta.servlet + javax.servlet + + + jakarta.annotation + javax.annotation + + + + + + + diff --git a/src/main/java/org/mitre/dsmiley/httpproxy/ProxyServlet.java b/src/main/java/org/mitre/dsmiley/httpproxy/ProxyServlet.java index 7be138b..a22ace6 100755 --- a/src/main/java/org/mitre/dsmiley/httpproxy/ProxyServlet.java +++ b/src/main/java/org/mitre/dsmiley/httpproxy/ProxyServlet.java @@ -37,11 +37,11 @@ import org.apache.http.message.HeaderGroup; import org.apache.http.util.EntityUtils; -import javax.servlet.ServletException; -import javax.servlet.http.Cookie; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.Cookie; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.Closeable; import java.io.IOException; import java.io.InputStream; @@ -272,7 +272,7 @@ protected void initTarget() throws ServletException { } /** - * Called from {@link #init(javax.servlet.ServletConfig)}. + * Called from {@link #init(jakarta.servlet.ServletConfig)}. * HttpClient offers many opportunities for customization. * In any case, it should be thread-safe. */ @@ -374,11 +374,8 @@ protected void service(HttpServletRequest servletRequest, HttpServletResponse se // Process the response: - // Pass the response code. This method with the "reason phrase" is deprecated but it's the - // only way to pass the reason along too. int statusCode = proxyResponse.getStatusLine().getStatusCode(); - //noinspection deprecation - servletResponse.setStatus(statusCode, proxyResponse.getStatusLine().getReasonPhrase()); + servletResponse.setStatus(statusCode); // Copying response headers to make sure SESSIONID or other Cookie which comes from the remote // server will be saved in client when the proxied url was redirected to another one. @@ -751,7 +748,7 @@ protected String rewriteQueryStringFromRequest(HttpServletRequest servletRequest } /** - * Allow overrides of {@link javax.servlet.http.HttpServletRequest#getPathInfo()}. + * Allow overrides of {@link jakarta.servlet.http.HttpServletRequest#getPathInfo()}. * Useful when url-pattern of servlet-mapping (web.xml) requires manipulation. */ protected String rewritePathInfoFromRequest(HttpServletRequest servletRequest) { diff --git a/src/main/java/org/mitre/dsmiley/httpproxy/URITemplateProxyServlet.java b/src/main/java/org/mitre/dsmiley/httpproxy/URITemplateProxyServlet.java index eeada07..b0e9da9 100644 --- a/src/main/java/org/mitre/dsmiley/httpproxy/URITemplateProxyServlet.java +++ b/src/main/java/org/mitre/dsmiley/httpproxy/URITemplateProxyServlet.java @@ -20,9 +20,9 @@ import org.apache.http.client.utils.URIUtils; import org.apache.http.client.utils.URLEncodedUtils; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; diff --git a/src/test/java/org/mitre/dsmiley/httpproxy/AcceptEncodingTest.java b/src/test/java/org/mitre/dsmiley/httpproxy/AcceptEncodingTest.java index 58a71b1..04820e5 100644 --- a/src/test/java/org/mitre/dsmiley/httpproxy/AcceptEncodingTest.java +++ b/src/test/java/org/mitre/dsmiley/httpproxy/AcceptEncodingTest.java @@ -15,15 +15,17 @@ */ package org.mitre.dsmiley.httpproxy; +import static org.junit.Assert.assertEquals; + +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.util.Arrays; import java.util.HashSet; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.CloseableHttpClient; @@ -34,7 +36,6 @@ import org.eclipse.jetty.servlet.ServletHandler; import org.eclipse.jetty.servlet.ServletHolder; import org.junit.After; -import static org.junit.Assert.assertEquals; import org.junit.Before; import org.junit.Test; diff --git a/src/test/java/org/mitre/dsmiley/httpproxy/ChunkedTransferTest.java b/src/test/java/org/mitre/dsmiley/httpproxy/ChunkedTransferTest.java index 8bd5c40..91b538b 100644 --- a/src/test/java/org/mitre/dsmiley/httpproxy/ChunkedTransferTest.java +++ b/src/test/java/org/mitre/dsmiley/httpproxy/ChunkedTransferTest.java @@ -23,10 +23,10 @@ import java.util.List; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.apache.http.MalformedChunkCodingException; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; diff --git a/src/test/java/org/mitre/dsmiley/httpproxy/ModifyHeadersProxyServletTest.java b/src/test/java/org/mitre/dsmiley/httpproxy/ModifyHeadersProxyServletTest.java index 6868dc7..66cc845 100644 --- a/src/test/java/org/mitre/dsmiley/httpproxy/ModifyHeadersProxyServletTest.java +++ b/src/test/java/org/mitre/dsmiley/httpproxy/ModifyHeadersProxyServletTest.java @@ -25,8 +25,8 @@ import org.apache.http.protocol.HttpContext; import org.junit.Test; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import static org.junit.Assert.assertEquals; diff --git a/src/test/java/org/mitre/dsmiley/httpproxy/ParallelConnectionsTest.java b/src/test/java/org/mitre/dsmiley/httpproxy/ParallelConnectionsTest.java index 16a0bc6..967b93b 100644 --- a/src/test/java/org/mitre/dsmiley/httpproxy/ParallelConnectionsTest.java +++ b/src/test/java/org/mitre/dsmiley/httpproxy/ParallelConnectionsTest.java @@ -31,10 +31,10 @@ import java.util.concurrent.Executors; import java.util.concurrent.Future; import java.util.concurrent.TimeUnit; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector;