- java.lang.Object
-
- jakarta.servlet.GenericServlet
-
- jakarta.servlet.http.HttpServlet
-
- org.eclipse.jetty.proxy.AbstractProxyServlet
-
- org.eclipse.jetty.proxy.ProxyServlet
-
- All Implemented Interfaces:
jakarta.servlet.Servlet
,jakarta.servlet.ServletConfig
,java.io.Serializable
- Direct Known Subclasses:
AsyncProxyServlet
,BalancerServlet
,ProxyServlet.Transparent
public class ProxyServlet extends AbstractProxyServlet
Servlet 3.0 asynchronous proxy servlet.
The request processing is asynchronous, but the I/O is blocking.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
ProxyServlet.ProxyInputStreamRequestContent
protected class
ProxyServlet.ProxyResponseListener
static class
ProxyServlet.Transparent
Convenience extension ofProxyServlet
that offers transparent proxy functionalities.-
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 ProxyServlet()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected org.eclipse.jetty.client.api.Response.Listener
newProxyResponseListener(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response)
protected void
onContinue(jakarta.servlet.http.HttpServletRequest clientRequest, org.eclipse.jetty.client.api.Request proxyRequest)
protected void
onResponseContent(jakarta.servlet.http.HttpServletRequest request, jakarta.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(jakarta.servlet.http.HttpServletRequest request, jakarta.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.protected void
service(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response)
-
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 jakarta.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service
-
-
-
-
Method Detail
-
service
protected void service(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws jakarta.servlet.ServletException, java.io.IOException
- Overrides:
service
in classjakarta.servlet.http.HttpServlet
- Throws:
jakarta.servlet.ServletException
java.io.IOException
-
proxyRequestContent
protected org.eclipse.jetty.client.api.Request.Content proxyRequestContent(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, org.eclipse.jetty.client.api.Request proxyRequest) throws java.io.IOException
Wraps the client-to-proxy request content in aRequest.Content
for the proxy-to-server request.- 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
-
newProxyResponseListener
protected org.eclipse.jetty.client.api.Response.Listener newProxyResponseListener(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response)
- Specified by:
newProxyResponseListener
in classAbstractProxyServlet
-
onResponseContent
protected void onResponseContent(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, org.eclipse.jetty.client.api.Response proxyResponse, byte[] buffer, int offset, int length, org.eclipse.jetty.util.Callback callback)
-
onContinue
protected void onContinue(jakarta.servlet.http.HttpServletRequest clientRequest, org.eclipse.jetty.client.api.Request proxyRequest)
- Overrides:
onContinue
in classAbstractProxyServlet
-
-