Class AsyncMiddleManServlet.ProxyReader
java.lang.Object
org.eclipse.jetty.util.IteratingCallback
org.eclipse.jetty.proxy.AsyncMiddleManServlet.ProxyReader
- All Implemented Interfaces:
EventListener, javax.servlet.ReadListener, Callback, Invocable
- Enclosing class:
AsyncMiddleManServlet
protected class AsyncMiddleManServlet.ProxyReader
extends IteratingCallback
implements javax.servlet.ReadListener
-
Nested Class Summary
Nested classes/interfaces inherited from class IteratingCallback
IteratingCallback.ActionNested classes/interfaces inherited from interface Callback
Callback.Completable, Callback.Completing, Callback.NestedNested classes/interfaces inherited from interface Invocable
Invocable.InvocationType -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final byte[]private final List<ByteBuffer> private final javax.servlet.http.HttpServletRequestprivate final intprivate final booleanprivate intprivate final DeferredContentProviderprivate final Requestprivate final javax.servlet.http.HttpServletResponseFields inherited from interface Invocable
__nonBlocking -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedProxyReader(javax.servlet.http.HttpServletRequest clientRequest, javax.servlet.http.HttpServletResponse proxyResponse, Request proxyRequest, DeferredContentProvider provider) -
Method Summary
Modifier and TypeMethodDescriptionvoidprotected voidInvoked when the overall task has completed with a failure.voidvoidprotected IteratingCallback.Actionprocess()Method called byIteratingCallback.iterate()to process the asynchronous sub-task.private voidprocess(ByteBuffer content, Callback callback, boolean finished) Methods inherited from class IteratingCallback
close, failed, isClosed, isFailed, isSucceeded, iterate, onCompleteSuccess, reset, succeeded, toStringMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface Invocable
getInvocationType
-
Field Details
-
buffer
private final byte[] buffer -
buffers
-
clientRequest
private final javax.servlet.http.HttpServletRequest clientRequest -
proxyResponse
private final javax.servlet.http.HttpServletResponse proxyResponse -
proxyRequest
-
provider
-
contentLength
private final int contentLength -
expects100Continue
private final boolean expects100Continue -
length
private int length
-
-
Constructor Details
-
ProxyReader
protected ProxyReader(javax.servlet.http.HttpServletRequest clientRequest, javax.servlet.http.HttpServletResponse proxyResponse, Request proxyRequest, DeferredContentProvider provider)
-
-
Method Details
-
onDataAvailable
public void onDataAvailable()- Specified by:
onDataAvailablein interfacejavax.servlet.ReadListener
-
onAllDataRead
- Specified by:
onAllDataReadin interfacejavax.servlet.ReadListener- Throws:
IOException
-
onError
- Specified by:
onErrorin interfacejavax.servlet.ReadListener
-
process
Description copied from class:IteratingCallbackMethod called byIteratingCallback.iterate()to process the asynchronous sub-task.Implementations must initiate the asynchronous execution of the sub-task (if any) and return an appropriate action:
IteratingCallback.Action.IDLEwhen no sub tasks are available for execution but the overall job is not completed yetIteratingCallback.Action.SCHEDULEDwhen the sub task asynchronous execution has been startedIteratingCallback.Action.SUCCEEDEDwhen the overall job is completed
- Specified by:
processin classIteratingCallback- Returns:
- the appropriate Action
- Throws:
Exception
-
process
- Throws:
IOException
-
onCompleteFailure
Description copied from class:IteratingCallbackInvoked when the overall task has completed with a failure.- Overrides:
onCompleteFailurein classIteratingCallback- Parameters:
x- the throwable to indicate cause of failure- See Also:
-