X-Git-Url: https://git.hedgecode.org/?p=chesshog-scanner.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fhedgecode%2Fchess%2Fscanner%2Fportal%2FAbstractRequestScanner.java;fp=src%2Fmain%2Fjava%2Forg%2Fhedgecode%2Fchess%2Fscanner%2Fportal%2FAbstractRequestScanner.java;h=d6aa38bb6a6f504a4a9d59cc4f85287a7098ccce;hp=e179d2c284f169dcc4afd653d45b4bec35c4909f;hb=70d45ca74e19c98d0bef2a081f77fc1e3543691e;hpb=6e3a8590a26312b6cea579777db885107cae88df diff --git a/src/main/java/org/hedgecode/chess/scanner/portal/AbstractRequestScanner.java b/src/main/java/org/hedgecode/chess/scanner/portal/AbstractRequestScanner.java index e179d2c..d6aa38b 100644 --- a/src/main/java/org/hedgecode/chess/scanner/portal/AbstractRequestScanner.java +++ b/src/main/java/org/hedgecode/chess/scanner/portal/AbstractRequestScanner.java @@ -24,11 +24,12 @@ import java.util.Map; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.protocol.HttpClientContext; import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.http.impl.client.HttpClients; import org.hedgecode.chess.scanner.Scanner; import org.hedgecode.chess.scanner.ScannerException; +import org.hedgecode.chess.scanner.proxy.Proxy; import org.hedgecode.chess.scanner.regex.RegexMatcher; import org.hedgecode.chess.scanner.regex.RegexResult; import org.hedgecode.chess.scanner.regex.RegexType; @@ -48,11 +49,10 @@ public abstract class AbstractRequestScanner implements Scanner { } protected String request(String url, boolean withCrlf) throws ScannerException { - HttpGet request = new HttpGet(url); - CloseableHttpResponse response = null; StringBuilder sb = new StringBuilder(); - try { - response = getClient().execute(request); + try (CloseableHttpResponse response = getClient().execute( + new HttpGet(url), getContext() + )) { try (BufferedReader br = new BufferedReader( new InputStreamReader( response.getEntity().getContent(), CHARSET @@ -70,12 +70,6 @@ public abstract class AbstractRequestScanner implements Scanner { throw new ScannerException( String.format("Error occurred for requesting URL: %s", url), cause ); - } finally { - if (response != null) { - try { - response.close(); - } catch (IOException ignored) {} - } } return sb.toString(); } @@ -168,10 +162,9 @@ public abstract class AbstractRequestScanner implements Scanner { protected RegexResult matchRequest(String url, RegexMatcher matcher, boolean isFirst) throws ScannerException { - HttpGet request = new HttpGet(url); - CloseableHttpResponse response = null; - try { - response = getClient().execute(request); + try (CloseableHttpResponse response = getClient().execute( + new HttpGet(url), getContext() + )) { try (BufferedReader br = new BufferedReader( new InputStreamReader( response.getEntity().getContent(), @@ -190,18 +183,16 @@ public abstract class AbstractRequestScanner implements Scanner { throw new ScannerException( String.format("Error occurred for requesting URL: %s", url), cause ); - } finally { - if (response != null) { - try { - response.close(); - } catch (IOException ignored) {} - } } return matcher.result(); } private CloseableHttpClient getClient() { - return HttpClients.createMinimal(); + return Proxy.getRequestClient().getClient(); + } + + private HttpClientContext getContext() { + return Proxy.getRequestClient().getContext(); } }