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;
*/
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;
}
//
@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 {