Example usage for org.apache.http.nio.entity ConsumingNHttpEntityTemplate ConsumingNHttpEntityTemplate

List of usage examples for org.apache.http.nio.entity ConsumingNHttpEntityTemplate ConsumingNHttpEntityTemplate

Introduction

In this page you can find the example usage for org.apache.http.nio.entity ConsumingNHttpEntityTemplate ConsumingNHttpEntityTemplate.

Prototype

public ConsumingNHttpEntityTemplate(final HttpEntity httpEntity, final ContentListener contentListener) 

Source Link

Usage

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()));
}