org.apache.http.nio.client.methods
Class ZeroCopyConsumer<T>
java.lang.Object
org.apache.http.nio.protocol.AbstractAsyncResponseConsumer<T>
org.apache.http.nio.client.methods.ZeroCopyConsumer<T>
- All Implemented Interfaces:
- Closeable, org.apache.http.concurrent.Cancellable, org.apache.http.nio.protocol.HttpAsyncResponseConsumer<T>
public abstract class ZeroCopyConsumer<T>
- extends org.apache.http.nio.protocol.AbstractAsyncResponseConsumer<T>
HttpAsyncResponseConsumer
implementation that
streams content entity enclosed in an HTTP response directly into a file
without an intermediate in-memory buffer.
This consumer can be useful for file downloads.
- Since:
- 4.0
Method Summary |
protected T |
buildResult(org.apache.http.protocol.HttpContext context)
|
protected void |
onContentReceived(org.apache.http.nio.ContentDecoder decoder,
org.apache.http.nio.IOControl ioControl)
|
protected void |
onEntityEnclosed(org.apache.http.HttpEntity entity,
org.apache.http.entity.ContentType contentType)
|
protected void |
onResponseReceived(org.apache.http.HttpResponse response)
|
protected abstract T |
process(org.apache.http.HttpResponse response,
File file,
org.apache.http.entity.ContentType contentType)
Invoked to process received file. |
protected void |
releaseResources()
|
Methods inherited from class org.apache.http.nio.protocol.AbstractAsyncResponseConsumer |
cancel, close, consumeContent, failed, getContentType, getException, getResult, isDone, onClose, responseCompleted, responseReceived |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ZeroCopyConsumer
public ZeroCopyConsumer(File file)
throws FileNotFoundException
- Throws:
FileNotFoundException
onResponseReceived
protected void onResponseReceived(org.apache.http.HttpResponse response)
- Specified by:
onResponseReceived
in class org.apache.http.nio.protocol.AbstractAsyncResponseConsumer<T>
onEntityEnclosed
protected void onEntityEnclosed(org.apache.http.HttpEntity entity,
org.apache.http.entity.ContentType contentType)
throws IOException
- Specified by:
onEntityEnclosed
in class org.apache.http.nio.protocol.AbstractAsyncResponseConsumer<T>
- Throws:
IOException
onContentReceived
protected void onContentReceived(org.apache.http.nio.ContentDecoder decoder,
org.apache.http.nio.IOControl ioControl)
throws IOException
- Specified by:
onContentReceived
in class org.apache.http.nio.protocol.AbstractAsyncResponseConsumer<T>
- Throws:
IOException
process
protected abstract T process(org.apache.http.HttpResponse response,
File file,
org.apache.http.entity.ContentType contentType)
throws Exception
- Invoked to process received file.
- Parameters:
response
- original response head.file
- file containing response content.contentType
- the cotnent type.
- Returns:
- result of the response processing
- Throws:
Exception
buildResult
protected T buildResult(org.apache.http.protocol.HttpContext context)
throws Exception
- Specified by:
buildResult
in class org.apache.http.nio.protocol.AbstractAsyncResponseConsumer<T>
- Throws:
Exception
releaseResources
protected void releaseResources()
- Specified by:
releaseResources
in class org.apache.http.nio.protocol.AbstractAsyncResponseConsumer<T>
Copyright © 2010–2021 The Apache Software Foundation. All rights reserved.