List of usage examples for org.apache.http.nio.entity ConsumingNHttpEntityTemplate ConsumingNHttpEntityTemplate
public ConsumingNHttpEntityTemplate(final HttpEntity httpEntity, final ContentListener contentListener)
From source file:com.alibaba.openapi.client.rpc.AliNHttpRequstExecutionHandler.java
public ConsumingNHttpEntity responseEntity(final HttpResponse httpResponse, final HttpContext context) throws IOException { //System.out.println("AliNHttpRequstExecutionHandler responseEntity"); LoggerHelper.getClientLogger().finer("Enter request handler's response entity."); final InvokeContext invokeContext = (InvokeContext) context.getAttribute(CONTEXT_ATTACHMENT); final Response response = protocolProvider .getResponseParser(invokeContext.getPolicy().getResponseProtocol()) .initResponse(httpResponse, invokeContext); //ConsumingNHttpEntityTemplateContentListener?? ContentListener contentListener = new ContentListener() { private final SimpleInputBuffer buffer = new SimpleInputBuffer(2048, allocator); @SuppressWarnings("unchecked") public void finished() { InputStream istream = new ContentInputStream(this.buffer); protocolProvider.getResponseParser(invokeContext.getPolicy().getResponseProtocol()) .parseResponse(httpResponse, istream, response, invokeContext); invokeContext.completed();//from w w w . j av a 2 s . c o m if (response.getException() != null) { invokeContext.failed(response.getException()); } else { try { ((FutureCallback<Object>) invokeContext.getCallback()).completed(response.getResult()); } catch (RuntimeException e) { invokeContext.failed(e); } } } //TODO ??,?? public void contentAvailable(ContentDecoder decoder, IOControl ioctrl) throws IOException { this.buffer.consumeContent(decoder); LoggerHelper.getClientLogger().finer("content Listener " + this.buffer.available()); } }; HttpEntity entity = httpResponse.getEntity(); return new ConsumingNHttpEntityTemplate(entity, contentListener); }
From source file:marytts.server.http.BaseHttpRequestHandler.java
public ConsumingNHttpEntity entityRequest(final HttpEntityEnclosingRequest request, final HttpContext context) throws HttpException, IOException { return new ConsumingNHttpEntityTemplate(request.getEntity(), new FileWriteListener(useFileChannels)); }
From source file:niproxy.NiProxyMonitor.java
@Override public ConsumingNHttpEntity entityRequest(HttpEntityEnclosingRequest request, HttpContext context) throws HttpException, IOException { return new ConsumingNHttpEntityTemplate(request.getEntity(), new contentListenerImpl(request.getEntity().getContentLength())); }