Package org.eclipse.jetty.proxy
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 org.eclipse.jetty.util.IteratingCallback
IteratingCallback.Action
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.Callback
Callback.Completable, Callback.Completing, Callback.Nested
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.thread.Invocable
Invocable.InvocationType
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final byte[]
private final List<ByteBuffer>
private final javax.servlet.http.HttpServletRequest
private final int
private final boolean
private int
private final DeferredContentProvider
private final Request
private final javax.servlet.http.HttpServletResponse
Fields inherited from interface org.eclipse.jetty.util.thread.Invocable
__nonBlocking
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
ProxyReader
(javax.servlet.http.HttpServletRequest clientRequest, javax.servlet.http.HttpServletResponse proxyResponse, Request proxyRequest, DeferredContentProvider provider) -
Method Summary
Modifier and TypeMethodDescriptionvoid
protected void
Invoked when the overall task has completed with a failure.void
void
protected IteratingCallback.Action
process()
Method called byIteratingCallback.iterate()
to process the asynchronous sub-task.private void
process
(ByteBuffer content, Callback callback, boolean finished) Methods inherited from class org.eclipse.jetty.util.IteratingCallback
close, failed, isClosed, isFailed, isSucceeded, iterate, onCompleteSuccess, reset, succeeded, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.eclipse.jetty.util.thread.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:
onDataAvailable
in interfacejavax.servlet.ReadListener
-
onAllDataRead
- Specified by:
onAllDataRead
in interfacejavax.servlet.ReadListener
- Throws:
IOException
-
onError
- Specified by:
onError
in interfacejavax.servlet.ReadListener
-
process
Description copied from class:IteratingCallback
Method 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.IDLE
when no sub tasks are available for execution but the overall job is not completed yetIteratingCallback.Action.SCHEDULED
when the sub task asynchronous execution has been startedIteratingCallback.Action.SUCCEEDED
when the overall job is completed
- Specified by:
process
in classIteratingCallback
- Returns:
- the appropriate Action
- Throws:
Exception
-
process
- Throws:
IOException
-
onCompleteFailure
Description copied from class:IteratingCallback
Invoked when the overall task has completed with a failure.- Overrides:
onCompleteFailure
in classIteratingCallback
- Parameters:
x
- the throwable to indicate cause of failure- See Also:
-