- java.lang.Object
-
- javax.servlet.GenericServlet
-
- javax.servlet.http.HttpServlet
-
- org.eclipse.jetty.proxy.AbstractProxyServlet
-
- org.eclipse.jetty.proxy.ProxyServlet
-
- org.eclipse.jetty.proxy.AsyncProxyServlet
-
- All Implemented Interfaces:
java.io.Serializable
,javax.servlet.Servlet
,javax.servlet.ServletConfig
- Direct Known Subclasses:
AsyncProxyServlet.Transparent
public class AsyncProxyServlet extends ProxyServlet
Servlet 3.1 asynchronous proxy servlet.
Both the request processing and the I/O are asynchronous.
- See Also:
ProxyServlet
,AsyncMiddleManServlet
,ConnectHandler
, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
AsyncProxyServlet.StreamReader
protected class
AsyncProxyServlet.StreamWriter
static class
AsyncProxyServlet.Transparent
Convenience extension ofAsyncProxyServlet
that offers transparent proxy functionalities.-
Nested classes/interfaces inherited from class org.eclipse.jetty.proxy.ProxyServlet
ProxyServlet.ProxyInputStreamRequestContent, ProxyServlet.ProxyResponseListener
-
Nested classes/interfaces inherited from class org.eclipse.jetty.proxy.AbstractProxyServlet
AbstractProxyServlet.TransparentDelegate
-
-
Field Summary
-
Fields inherited from class org.eclipse.jetty.proxy.AbstractProxyServlet
_log, CLIENT_REQUEST_ATTRIBUTE, HOP_HEADERS
-
-
Constructor Summary
Constructors Constructor Description AsyncProxyServlet()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected javax.servlet.ReadListener
newReadListener(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, org.eclipse.jetty.client.api.Request proxyRequest, org.eclipse.jetty.client.util.AsyncRequestContent content)
protected AsyncProxyServlet.StreamWriter
newWriteListener(javax.servlet.http.HttpServletRequest request, org.eclipse.jetty.client.api.Response proxyResponse)
protected void
onResponseContent(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, org.eclipse.jetty.client.api.Response proxyResponse, byte[] buffer, int offset, int length, org.eclipse.jetty.util.Callback callback)
protected org.eclipse.jetty.client.api.Request.Content
proxyRequestContent(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, org.eclipse.jetty.client.api.Request proxyRequest)
Wraps the client-to-proxy request content in aRequest.Content
for the proxy-to-server request.-
Methods inherited from class org.eclipse.jetty.proxy.ProxyServlet
newProxyResponseListener, onContinue, service
-
Methods inherited from class org.eclipse.jetty.proxy.AbstractProxyServlet
addProxyHeaders, addViaHeader, addViaHeader, addXForwardedHeaders, clientRequestStatus, copyRequestHeaders, createHttpClient, createLogger, destroy, expects100Continue, filterServerResponseHeader, findConnectionHeaders, getBlackListHosts, getHostHeader, getHttpClient, getRequestId, getTimeout, getViaHost, getWhiteListHosts, hasContent, init, newClientConnector, newHttpClient, newHttpClient, newProxyRequest, onClientRequestFailure, onProxyResponseFailure, onProxyResponseSuccess, onProxyRewriteFailed, onServerResponseHeaders, proxyResponseStatus, rewriteTarget, sendProxyRequest, sendProxyResponseError, setTimeout, validateDestination
-
Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service
-
-
-
-
Method Detail
-
proxyRequestContent
protected org.eclipse.jetty.client.api.Request.Content proxyRequestContent(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, org.eclipse.jetty.client.api.Request proxyRequest) throws java.io.IOException
Description copied from class:ProxyServlet
Wraps the client-to-proxy request content in aRequest.Content
for the proxy-to-server request.- Overrides:
proxyRequestContent
in classProxyServlet
- Parameters:
request
- the client-to-proxy requestresponse
- the proxy-to-client responseproxyRequest
- the proxy-to-server request- Returns:
- a proxy-to-server request content
- Throws:
java.io.IOException
- if the proxy-to-server request content cannot be created
-
newReadListener
protected javax.servlet.ReadListener newReadListener(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, org.eclipse.jetty.client.api.Request proxyRequest, org.eclipse.jetty.client.util.AsyncRequestContent content)
-
onResponseContent
protected void onResponseContent(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, org.eclipse.jetty.client.api.Response proxyResponse, byte[] buffer, int offset, int length, org.eclipse.jetty.util.Callback callback)
- Overrides:
onResponseContent
in classProxyServlet
-
newWriteListener
protected AsyncProxyServlet.StreamWriter newWriteListener(javax.servlet.http.HttpServletRequest request, org.eclipse.jetty.client.api.Response proxyResponse)
-
-