diff --git a/pom.xml b/pom.xml
index 6371e5da85..1f931f00fa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -57,7 +57,6 @@
2.6.10
1.3
- 4.5.12
2.2.11
1.6.1
@@ -418,11 +417,6 @@
velocity-engine-core
${velocity.version}
-
- org.apache.httpcomponents
- httpclient
- ${httpclient.version}
-
diff --git a/whois-scheduler/pom.xml b/whois-scheduler/pom.xml
index 0fabae3db6..a3218d7867 100644
--- a/whois-scheduler/pom.xml
+++ b/whois-scheduler/pom.xml
@@ -27,10 +27,6 @@
org.jsoup
jsoup
-
- org.apache.httpcomponents
- httpclient
-
diff --git a/whois-scheduler/src/main/java/net/ripe/db/whois/scheduler/task/grs/LacnicGrsSource.java b/whois-scheduler/src/main/java/net/ripe/db/whois/scheduler/task/grs/LacnicGrsSource.java
index 98b7964afb..f797d11190 100644
--- a/whois-scheduler/src/main/java/net/ripe/db/whois/scheduler/task/grs/LacnicGrsSource.java
+++ b/whois-scheduler/src/main/java/net/ripe/db/whois/scheduler/task/grs/LacnicGrsSource.java
@@ -16,18 +16,15 @@
import net.ripe.db.whois.common.rpsl.transform.FilterChangedFunction;
import net.ripe.db.whois.common.source.SourceContext;
import org.apache.commons.io.IOUtils;
-import org.apache.http.client.HttpClient;
-import org.apache.http.client.config.RequestConfig;
-import org.apache.http.client.methods.HttpUriRequest;
-import org.apache.http.client.methods.RequestBuilder;
-import org.apache.http.config.SocketConfig;
-import org.apache.http.impl.client.HttpClients;
+import org.glassfish.jersey.client.ClientProperties;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
+import javax.ws.rs.client.Client;
+import javax.ws.rs.client.ClientBuilder;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
@@ -50,6 +47,8 @@ class LacnicGrsSource extends GrsSource {
private final String userId;
private final String password;
+ private Client client;
+
@Autowired
LacnicGrsSource(
@Value("${grs.import.lacnic.source:}") final String source,
@@ -63,12 +62,17 @@ class LacnicGrsSource extends GrsSource {
this.userId = userId;
this.password = password;
+
+ this.client = ClientBuilder.newBuilder()
+ .property(ClientProperties.CONNECT_TIMEOUT, TIMEOUT)
+ .property(ClientProperties.READ_TIMEOUT, TIMEOUT)
+ .build();
}
@Override
public void acquireDump(final Path path) throws IOException {
- final Document loginPage = parse(get("http://lacnic.net/cgi-bin/lacnic/stini?lg=EN"));
- final String loginAction = "http://lacnic.net" + loginPage.select("form").attr("action");
+ final Document loginPage = parse(get("https://lacnic.net/cgi-bin/lacnic/stini?lg=EN"));
+ final String loginAction = "https://lacnic.net" + loginPage.select("form").attr("action");
post(loginAction);
@@ -77,38 +81,16 @@ public void acquireDump(final Path path) throws IOException {
downloader.downloadTo(logger, new URL(downloadAction), path);
}
- private String get(final String url) throws IOException {
- final HttpClient client = HttpClients
- .custom()
- .setDefaultSocketConfig(SocketConfig.custom().setSoTimeout(TIMEOUT).build())
- .build();
- final HttpUriRequest request = RequestBuilder
- .get()
- .setUri(url)
- .setConfig(RequestConfig.custom().setConnectTimeout(TIMEOUT).build())
- .build();
- return IOUtils.toString(
- client.execute(request)
- .getEntity()
- .getContent());
+ private String get(final String url) {
+ return client.target(url).request().get(String.class);
}
- private String post(final String url) throws IOException {
- final HttpClient client = HttpClients
- .custom()
- .setDefaultSocketConfig(SocketConfig.custom().setSoTimeout(TIMEOUT).build())
- .build();
- final HttpUriRequest request = RequestBuilder
- .post()
- .addParameter("handle", userId)
- .addParameter("passwd", password)
- .setUri(url)
- .setConfig(RequestConfig.custom().setConnectTimeout(TIMEOUT).build())
- .build();
- return IOUtils.toString(
- client.execute(request)
- .getEntity()
- .getContent());
+ private String post(final String url) {
+ return client.target(url)
+ .queryParam("handle", userId)
+ .queryParam("passwd", password)
+ .request()
+ .post(null, String.class);
}
private static Document parse(final String data) {
diff --git a/whois-scheduler/src/test/java/net/ripe/db/whois/scheduler/task/grs/GrsImporterLacnicManualIntegrationTest.java b/whois-scheduler/src/test/java/net/ripe/db/whois/scheduler/task/grs/GrsImporterLacnicManualIntegrationTest.java
index aed6b1fdb1..840d124614 100644
--- a/whois-scheduler/src/test/java/net/ripe/db/whois/scheduler/task/grs/GrsImporterLacnicManualIntegrationTest.java
+++ b/whois-scheduler/src/test/java/net/ripe/db/whois/scheduler/task/grs/GrsImporterLacnicManualIntegrationTest.java
@@ -19,7 +19,6 @@
import org.springframework.test.annotation.DirtiesContext;
import java.io.File;
-import java.io.IOException;
import java.util.List;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
@@ -43,7 +42,7 @@ public class GrsImporterLacnicManualIntegrationTest extends AbstractSchedulerInt
private static final File tempDirectory = Files.createTempDir();
@BeforeClass
- public static void setup_database() throws IOException {
+ public static void setup_database() {
DatabaseHelper.addGrsDatabases("LACNIC-GRS");
System.setProperty("grs.import.lacnic.source", "LACNIC-GRS");
@@ -55,7 +54,7 @@ public static void setup_database() throws IOException {
}
@AfterClass
- public static void cleanup() throws Exception {
+ public static void cleanup() {
FileHelper.delete(tempDirectory);
}
@@ -76,7 +75,7 @@ public void import_lacnic_grs_download_dump() throws Exception {
}
@Test
- public void import_lacnic_grs_use_downloaded_dump() throws Exception {
+ public void import_lacnic_grs_use_downloaded_dump() {
grsSourceImporter.grsImport(lacnicGrsSource, false);
assertThat(query("-s LACNIC-GRS SOME-MNT"), containsString("mntner: SOME-MNT"));
@@ -90,7 +89,7 @@ private void awaitAll(final List futures) throws ExecutionException, Int
}
}
- private String query(final String query) throws Exception {
+ private String query(final String query) {
return TelnetWhoisClient.queryLocalhost(QueryServer.port, query);
}
}