X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Frhynodge%2Fqueries%2FHttpQuery.java;h=c1c315f1a91318963a5fb982d051e18c3ce381cd;hb=b1c7de25c9ce6b9ced6a659539bb2dab68c09866;hp=e969087f6711217070de4555d948e721b46dbadd;hpb=3cfff3956d11b1654133ce632248ee574a9fd6a0;p=rhynodge.git diff --git a/src/main/java/net/pterodactylus/rhynodge/queries/HttpQuery.java b/src/main/java/net/pterodactylus/rhynodge/queries/HttpQuery.java index e969087..c1c315f 100644 --- a/src/main/java/net/pterodactylus/rhynodge/queries/HttpQuery.java +++ b/src/main/java/net/pterodactylus/rhynodge/queries/HttpQuery.java @@ -26,6 +26,7 @@ import net.pterodactylus.rhynodge.states.FailedState; import net.pterodactylus.rhynodge.states.HttpState; import org.apache.http.HttpEntity; +import org.apache.http.HttpHost; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.client.HttpClient; @@ -42,17 +43,18 @@ import org.apache.http.util.EntityUtils; */ public class HttpQuery implements Query { - /** The uri to request. */ private final String uri; + private final String proxyHost; + private final int proxyPort; - /** - * Creates a new HTTP query. - * - * @param uri - * The uri to request - */ public HttpQuery(String uri) { + this(uri, null, -1); + } + + public HttpQuery(String uri, String proxyHost, int proxyPort) { this.uri = uri; + this.proxyHost = proxyHost; + this.proxyPort = proxyPort; } // @@ -65,9 +67,13 @@ public class HttpQuery implements Query { @Override @SuppressWarnings("deprecation") public State state() { - HttpClient httpClient = HttpClientBuilder.create() + HttpClientBuilder httpClientBuilder = HttpClientBuilder.create() .setSSLHostnameVerifier((hostname, session) -> true) - .addInterceptorFirst(new ResponseContentEncoding()).build(); + .addInterceptorFirst(new ResponseContentEncoding()); + if ((proxyHost != null) && (proxyPort != -1)) { + httpClientBuilder.setProxy(new HttpHost(proxyHost, proxyPort)); + } + HttpClient httpClient = httpClientBuilder.build(); HttpGet get = new HttpGet(uri); try {