List of usage examples for org.apache.http.conn ConnectionRequest ConnectionRequest
ConnectionRequest
From source file:org.geoserver.wms.map.MockHttpClientConnectionManager.java
@Override public ConnectionRequest requestConnection(HttpRoute arg0, Object arg1) { return new ConnectionRequest() { @Override//from w w w . j a v a2s . c o m public boolean cancel() { return false; } @Override public HttpClientConnection get(long arg0, TimeUnit arg1) throws InterruptedException, ExecutionException, ConnectionPoolTimeoutException { connections++; return new HttpClientConnection() { @Override public void shutdown() throws IOException { } @Override public void setSocketTimeout(int arg0) { } @Override public boolean isStale() { return false; } @Override public boolean isOpen() { return true; } @Override public int getSocketTimeout() { return 0; } @Override public HttpConnectionMetrics getMetrics() { return null; } @Override public void close() throws IOException { } @Override public void sendRequestHeader(HttpRequest arg0) throws HttpException, IOException { } @Override public void sendRequestEntity(HttpEntityEnclosingRequest arg0) throws HttpException, IOException { } @Override public HttpResponse receiveResponseHeader() throws HttpException, IOException { return new HttpResponse() { List<Header> headers = new ArrayList<Header>(); @Override public void addHeader(Header arg0) { } @Override public void addHeader(String arg0, String arg1) { } @Override public boolean containsHeader(String arg0) { return false; } @Override public Header[] getAllHeaders() { return headers.toArray(new Header[] {}); } public Header getHeader(String header) { if ("transfer-encoding".equalsIgnoreCase(header)) { return new BasicHeader(header, "identity"); } if ("date".equalsIgnoreCase(header)) { return new BasicHeader(header, dateFormat.format(new GregorianCalendar().getTime())); } if ("cache-control".equalsIgnoreCase(header)) { return new BasicHeader(header, enableCache ? "public" : "no-cache"); } if ("content-length".equalsIgnoreCase(header)) { return new BasicHeader(header, response.length() + ""); } if ("content-encoding".equalsIgnoreCase(header)) { return new BasicHeader(header, "identity"); } if ("age".equalsIgnoreCase(header)) { return new BasicHeader(header, "0"); } if ("expires".equalsIgnoreCase(header) && enableCache) { GregorianCalendar expires = new GregorianCalendar(); expires.add(GregorianCalendar.MINUTE, 30); return new BasicHeader(header, dateFormat.format(expires.getTime())); } return new BasicHeader(header, ""); } @Override public Header getFirstHeader(String header) { Header value = getHeader(header); headers.add(value); return value; } @Override public Header[] getHeaders(String header) { return new Header[] { getFirstHeader(header) }; } @Override public Header getLastHeader(String header) { return new BasicHeader(header, ""); } @Override public HttpParams getParams() { // TODO Auto-generated method stub return null; } @Override public ProtocolVersion getProtocolVersion() { return HttpVersion.HTTP_1_1; } @Override public HeaderIterator headerIterator() { return new BasicHeaderIterator(headers.toArray(new Header[] {}), "mock"); } @Override public HeaderIterator headerIterator(String header) { return new BasicHeaderIterator(headers.toArray(new Header[] {}), "mock"); } @Override public void removeHeader(Header arg0) { } @Override public void removeHeaders(String arg0) { } @Override public void setHeader(Header arg0) { } @Override public void setHeader(String arg0, String arg1) { } @Override public void setHeaders(Header[] arg0) { } @Override public void setParams(HttpParams arg0) { } @Override public HttpEntity getEntity() { BasicHttpEntity entity = new BasicHttpEntity(); entity.setContentLength(response.length()); entity.setContent( new ByteArrayInputStream(response.getBytes(StandardCharsets.UTF_8))); return entity; } @Override public Locale getLocale() { return Locale.ENGLISH; } @Override public StatusLine getStatusLine() { return new BasicStatusLine(HttpVersion.HTTP_1_1, 200, "OK"); } @Override public void setEntity(HttpEntity arg0) { } @Override public void setLocale(Locale arg0) { } @Override public void setReasonPhrase(String arg0) throws IllegalStateException { } @Override public void setStatusCode(int arg0) throws IllegalStateException { } @Override public void setStatusLine(StatusLine arg0) { } @Override public void setStatusLine(ProtocolVersion arg0, int arg1) { } @Override public void setStatusLine(ProtocolVersion arg0, int arg1, String arg2) { } }; } @Override public void receiveResponseEntity(HttpResponse arg0) throws HttpException, IOException { } @Override public boolean isResponseAvailable(int arg0) throws IOException { return true; } @Override public void flush() throws IOException { } }; } }; }
From source file:net.community.chest.gitcloud.facade.frontend.git.HttpClientConnectionManagerFactoryBean.java
@Inject public HttpClientConnectionManagerFactoryBean(@Value(TTL_CONFIG_VALUE) long ttlSeconds, @Value(MAX_PER_ROUTE_CONFIG_VALUE) int defaultMaxPerRoute, @Value(MAX_TOTAL_CONFIG_VALUE) int maxTotal) { Validate.isTrue(ttlSeconds > 0L, "Invalid TTL value: %d", ttlSeconds); Validate.isTrue(defaultMaxPerRoute > 0, "Invalid max. per-route value: %d", defaultMaxPerRoute); Validate.isTrue(maxTotal > 0, "Invalid max. total value: %d", maxTotal); // TODO use a different connections registry with an all-trusting HTTPS socket factory // TODO log the total stats and/or pre-route one at DEBUG/INFO level every few minutes/seconds or every N requests manager = new PoolingHttpClientConnectionManager(ttlSeconds, TimeUnit.SECONDS) { @Override/*w ww.j a v a 2s . c o m*/ @SuppressWarnings("synthetic-access") public ConnectionRequest requestConnection(final HttpRoute route, Object state) { final ConnectionRequest req = super.requestConnection(route, state); if (logger.isTraceEnabled()) { return new ConnectionRequest() { @Override public boolean cancel() { logger.trace("requestConnection(" + route + ") cancelling"); return req.cancel(); } @Override public HttpClientConnection get(long timeout, TimeUnit tunit) throws InterruptedException, ExecutionException, ConnectionPoolTimeoutException { HttpClientConnection conn = req.get(timeout, tunit); logger.trace( "requestConnection(" + route + ")[" + timeout + " " + tunit + "]: " + conn); return conn; } }; } return req; } @Override @SuppressWarnings("synthetic-access") public void releaseConnection(HttpClientConnection managedConn, Object state, long keepalive, TimeUnit tunit) { if (logger.isTraceEnabled()) { logger.trace("releaseConnection(" + keepalive + " " + tunit + "]: " + managedConn); } super.releaseConnection(managedConn, state, keepalive, tunit); } @Override @SuppressWarnings("synthetic-access") public void connect(HttpClientConnection managedConn, HttpRoute route, int connectTimeout, HttpContext context) throws IOException { if (logger.isTraceEnabled()) { logger.trace("connect(" + route + ")[timeout=" + connectTimeout + "]: " + managedConn); } super.connect(managedConn, route, connectTimeout, context); } }; manager.setDefaultMaxPerRoute(defaultMaxPerRoute); manager.setMaxTotal(maxTotal); }
From source file:com.serphacker.serposcope.scraper.http.extensions.CloseableBasicHttpClientConnectionManager.java
@Override public final ConnectionRequest requestConnection(final HttpRoute route, final Object state) { Args.notNull(route, "Route"); return new ConnectionRequest() { @Override/*from w ww. j a v a 2 s . com*/ public boolean cancel() { // Nothing to abort, since requests are immediate. return false; } @Override public HttpClientConnection get(final long timeout, final TimeUnit tunit) { return CloseableBasicHttpClientConnectionManager.this.getConnection(route, state); } }; }
From source file:org.apache.http.impl.conn.BasicHttpClientConnectionManager.java
public final ConnectionRequest requestConnection(final HttpRoute route, final Object state) { Args.notNull(route, "Route"); return new ConnectionRequest() { public boolean cancel() { // Nothing to abort, since requests are immediate. return false; }//from w ww .j a v a 2 s . c om public HttpClientConnection get(final long timeout, final TimeUnit tunit) { return BasicHttpClientConnectionManager.this.getConnection(route, state); } }; }
From source file:org.apache.http.impl.conn.PoolingHttpClientConnectionManager.java
public ConnectionRequest requestConnection(final HttpRoute route, final Object state) { Args.notNull(route, "HTTP route"); if (this.log.isDebugEnabled()) { this.log.debug("Connection request: " + format(route, state) + formatStats(route)); }/*from w w w . j a v a 2 s . co m*/ final Future<CPoolEntry> future = this.pool.lease(route, state, null); return new ConnectionRequest() { public boolean cancel() { return future.cancel(true); } public HttpClientConnection get(final long timeout, final TimeUnit tunit) throws InterruptedException, ExecutionException, ConnectionPoolTimeoutException { return leaseConnection(future, timeout, tunit); } }; }