From a935275f11344d0c7bd306e38ece15f14aef9839 Mon Sep 17 00:00:00 2001 From: panos-kakos <102670093+panos-kakos@users.noreply.github.com> Date: Thu, 24 Nov 2022 19:06:29 +0000 Subject: [PATCH] Upgrade to HttpClient 5 (#13026) * [JAVA-14911] Added HttpClient 5.2 dependencies * [JAVA-14911] Clean up * [JAVA-14911] Clean up Co-authored-by: panagiotiskakos --- httpclient-simple/pom.xml | 30 +++++++++- .../httpclient/HttpClientParamsLiveTest.java | 57 +++++++++---------- 2 files changed, 54 insertions(+), 33 deletions(-) diff --git a/httpclient-simple/pom.xml b/httpclient-simple/pom.xml index 49e47afe92..edd2838f3a 100644 --- a/httpclient-simple/pom.xml +++ b/httpclient-simple/pom.xml @@ -1,7 +1,7 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 httpclient-simple 0.1-SNAPSHOT @@ -101,6 +101,18 @@ + + + org.apache.httpcomponents.core5 + httpcore5 + ${httpcore5.version} + + + commons-logging + commons-logging + + + org.apache.commons @@ -130,6 +142,17 @@ + + org.apache.httpcomponents.client5 + httpclient5 + ${httpclient5.version} + + + commons-logging + commons-logging + + + org.apache.httpcomponents httpmime @@ -283,6 +306,9 @@ 2.5.1 4.4.11 4.5.8 + + 5.2 + 5.2 1.6.1 diff --git a/httpclient-simple/src/test/java/com/baeldung/httpclient/HttpClientParamsLiveTest.java b/httpclient-simple/src/test/java/com/baeldung/httpclient/HttpClientParamsLiveTest.java index f3ea9be089..f56a6863a3 100644 --- a/httpclient-simple/src/test/java/com/baeldung/httpclient/HttpClientParamsLiveTest.java +++ b/httpclient-simple/src/test/java/com/baeldung/httpclient/HttpClientParamsLiveTest.java @@ -10,17 +10,17 @@ import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; -import org.apache.http.NameValuePair; -import org.apache.http.client.ClientProtocolException; -import org.apache.http.client.entity.UrlEncodedFormEntity; -import org.apache.http.client.methods.CloseableHttpResponse; -import org.apache.http.client.methods.HttpGet; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.client.methods.HttpRequestBase; -import org.apache.http.client.utils.URIBuilder; -import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClientBuilder; -import org.apache.http.message.BasicNameValuePair; +import org.apache.hc.client5.http.classic.methods.HttpGet; +import org.apache.hc.client5.http.classic.methods.HttpPost; +import org.apache.hc.client5.http.impl.classic.CloseableHttpClient; +import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse; +import org.apache.hc.client5.http.impl.classic.HttpClientBuilder; +import org.apache.hc.client5.http.ClientProtocolException; +import org.apache.hc.client5.http.entity.UrlEncodedFormEntity; +import org.apache.hc.core5.http.NameValuePair; +import org.apache.hc.core5.http.message.BasicNameValuePair; +import org.apache.hc.core5.net.URIBuilder; + import org.junit.Before; import org.junit.Test; @@ -36,7 +36,7 @@ public class HttpClientParamsLiveTest { public void setUp() { client = HttpClientBuilder.create() .build(); - nameValuePairs = new ArrayList(); + nameValuePairs = new ArrayList<>(); NameValuePair param1NameValuePair = new BasicNameValuePair("param1", "value1"); NameValuePair param2NameValuePair = new BasicNameValuePair("param2", "value2"); nameValuePairs.add(param1NameValuePair); @@ -46,54 +46,50 @@ public class HttpClientParamsLiveTest { @Test public void givenStringNameValuePairParams_whenGetRequest_thenResponseOk() throws URISyntaxException, ClientProtocolException, IOException { HttpGet httpGet = new HttpGet("https://postman-echo.com/get"); - URI uri = new URIBuilder(httpGet.getURI()).addParameter("param1", "value1") + URI uri = new URIBuilder(httpGet.getUri()).addParameter("param1", "value1") .addParameter("param2", "value2") .build(); - ((HttpRequestBase) httpGet).setURI(uri); - response = client.execute(httpGet); + httpGet.setUri(uri); - assertThat(response.getStatusLine() - .getStatusCode(), equalTo(200)); + response = client.execute(httpGet); + assertThat(response.getCode(), equalTo(200)); client.close(); } @Test public void givenStringNameValuePairParams_whenPostRequest_thenResponseOk() throws URISyntaxException, ClientProtocolException, IOException { HttpPost httpPost = new HttpPost("https://postman-echo.com/post"); - URI uri = new URIBuilder(httpPost.getURI()).addParameter("param1", "value1") + URI uri = new URIBuilder(httpPost.getUri()).addParameter("param1", "value1") .addParameter("param2", "value2") .build(); - ((HttpRequestBase) httpPost).setURI(uri); + httpPost.setUri(uri); response = client.execute(httpPost); - assertThat(response.getStatusLine() - .getStatusCode(), equalTo(200)); + assertThat(response.getCode(), equalTo(200)); client.close(); } @Test public void givenNameValuePairParams_whenGetRequest_thenResponseOk() throws URISyntaxException, ClientProtocolException, IOException { HttpGet httpGet = new HttpGet("https://postman-echo.com/get"); - URI uri = new URIBuilder(httpGet.getURI()).addParameters(nameValuePairs) + URI uri = new URIBuilder(httpGet.getUri()).addParameters(nameValuePairs) .build(); - ((HttpRequestBase) httpGet).setURI(uri); + httpGet.setUri(uri); response = client.execute(httpGet); - assertThat(response.getStatusLine() - .getStatusCode(), equalTo(200)); + assertThat(response.getCode(), equalTo(200)); client.close(); } @Test public void givenNameValuePairsParams_whenPostRequest_thenResponseOk() throws URISyntaxException, ClientProtocolException, IOException { HttpPost httpPost = new HttpPost("https://postman-echo.com/post"); - URI uri = new URIBuilder(httpPost.getURI()).addParameters(nameValuePairs) + URI uri = new URIBuilder(httpPost.getUri()).addParameters(nameValuePairs) .build(); - ((HttpRequestBase) httpPost).setURI(uri); + httpPost.setUri(uri); response = client.execute(httpPost); - assertThat(response.getStatusLine() - .getStatusCode(), equalTo(200)); + assertThat(response.getCode(), equalTo(200)); client.close(); } @@ -103,8 +99,7 @@ public class HttpClientParamsLiveTest { httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs, StandardCharsets.UTF_8)); response = client.execute(httpPost); - assertThat(response.getStatusLine() - .getStatusCode(), equalTo(200)); + assertThat(response.getCode(), equalTo(200)); client.close(); }