Class AsyncMiddleManServlet
java.lang.Object
jakarta.servlet.GenericServlet
jakarta.servlet.http.HttpServlet
org.eclipse.jetty.ee10.proxy.AbstractProxyServlet
org.eclipse.jetty.ee10.proxy.AsyncMiddleManServlet
- All Implemented Interfaces:
jakarta.servlet.Servlet, jakarta.servlet.ServletConfig, Serializable
- Direct Known Subclasses:
AsyncMiddleManServlet.Transparent
Servlet 3.1 asynchronous proxy servlet with capability to intercept and modify request/response content.
Both the request processing and the I/O are asynchronous.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceAllows applications to transform upstream and downstream content.static classprotected classprotected classprotected classstatic classConvenience extension ofAsyncMiddleManServletthat offers transparent proxy functionalities.Nested classes/interfaces inherited from class AbstractProxyServlet
AbstractProxyServlet.TransparentDelegate -
Field Summary
Fields inherited from class AbstractProxyServlet
_log, CLIENT_REQUEST_ATTRIBUTE, HOP_HEADERSFields inherited from class jakarta.servlet.http.HttpServlet
LEGACY_DO_HEAD -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected AsyncMiddleManServlet.ContentTransformernewClientRequestContentTransformer(jakarta.servlet.http.HttpServletRequest clientRequest, Request proxyRequest) protected jakarta.servlet.ReadListenernewProxyReadListener(jakarta.servlet.http.HttpServletRequest clientRequest, jakarta.servlet.http.HttpServletResponse proxyResponse, Request proxyRequest, AsyncRequestContent content) protected AsyncRequestContentnewProxyRequestContent(jakarta.servlet.http.HttpServletRequest clientRequest, jakarta.servlet.http.HttpServletResponse proxyResponse, Request proxyRequest) protected Response.CompleteListenernewProxyResponseListener(jakarta.servlet.http.HttpServletRequest clientRequest, jakarta.servlet.http.HttpServletResponse proxyResponse) protected AsyncMiddleManServlet.ProxyWriternewProxyWriteListener(jakarta.servlet.http.HttpServletRequest clientRequest, Response proxyResponse) protected AsyncMiddleManServlet.ContentTransformernewServerResponseContentTransformer(jakarta.servlet.http.HttpServletRequest clientRequest, jakarta.servlet.http.HttpServletResponse proxyResponse, Response serverResponse) protected RunnableonContinue(jakarta.servlet.http.HttpServletRequest clientRequest, Request proxyRequest) protected voidsendProxyRequest(jakarta.servlet.http.HttpServletRequest clientRequest, jakarta.servlet.http.HttpServletResponse proxyResponse, Request proxyRequest) protected voidservice(jakarta.servlet.http.HttpServletRequest clientRequest, jakarta.servlet.http.HttpServletResponse proxyResponse) protected voidwriteProxyResponseContent(jakarta.servlet.ServletOutputStream output, ByteBuffer content) Methods inherited from class 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, sendProxyResponseError, setTimeout, validateDestinationMethods inherited from class jakarta.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, init, serviceMethods inherited from class jakarta.servlet.GenericServlet
getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, log, log
-
Constructor Details
-
AsyncMiddleManServlet
public AsyncMiddleManServlet()
-
-
Method Details
-
service
protected void service(jakarta.servlet.http.HttpServletRequest clientRequest, jakarta.servlet.http.HttpServletResponse proxyResponse) throws jakarta.servlet.ServletException, IOException - Overrides:
servicein classjakarta.servlet.http.HttpServlet- Throws:
jakarta.servlet.ServletExceptionIOException
-
sendProxyRequest
protected void sendProxyRequest(jakarta.servlet.http.HttpServletRequest clientRequest, jakarta.servlet.http.HttpServletResponse proxyResponse, Request proxyRequest) - Overrides:
sendProxyRequestin classAbstractProxyServlet
-
newProxyRequestContent
protected AsyncRequestContent newProxyRequestContent(jakarta.servlet.http.HttpServletRequest clientRequest, jakarta.servlet.http.HttpServletResponse proxyResponse, Request proxyRequest) -
newProxyReadListener
protected jakarta.servlet.ReadListener newProxyReadListener(jakarta.servlet.http.HttpServletRequest clientRequest, jakarta.servlet.http.HttpServletResponse proxyResponse, Request proxyRequest, AsyncRequestContent content) -
newProxyWriteListener
protected AsyncMiddleManServlet.ProxyWriter newProxyWriteListener(jakarta.servlet.http.HttpServletRequest clientRequest, Response proxyResponse) -
newProxyResponseListener
protected Response.CompleteListener newProxyResponseListener(jakarta.servlet.http.HttpServletRequest clientRequest, jakarta.servlet.http.HttpServletResponse proxyResponse) - Specified by:
newProxyResponseListenerin classAbstractProxyServlet
-
newClientRequestContentTransformer
protected AsyncMiddleManServlet.ContentTransformer newClientRequestContentTransformer(jakarta.servlet.http.HttpServletRequest clientRequest, Request proxyRequest) -
newServerResponseContentTransformer
protected AsyncMiddleManServlet.ContentTransformer newServerResponseContentTransformer(jakarta.servlet.http.HttpServletRequest clientRequest, jakarta.servlet.http.HttpServletResponse proxyResponse, Response serverResponse) -
onContinue
protected Runnable onContinue(jakarta.servlet.http.HttpServletRequest clientRequest, Request proxyRequest) - Overrides:
onContinuein classAbstractProxyServlet
-
writeProxyResponseContent
protected void writeProxyResponseContent(jakarta.servlet.ServletOutputStream output, ByteBuffer content) throws IOException - Throws:
IOException
-