Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Renamed ServletContextRequest.getBaseRequest() to getServletContextRequest() #8626

Merged
merged 2 commits into from
Sep 28, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ public UserIdentity login(final String username, final Object credentials, final
if (callbackHandler instanceof DefaultCallbackHandler)
{
DefaultCallbackHandler dch = (DefaultCallbackHandler)callbackHandler;
dch.setRequest(ServletContextRequest.getBaseRequest(request));
dch.setRequest(ServletContextRequest.getServletContextRequest(request));
dch.setCredential(credentials);
dch.setUserName(username);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ public void setRequestMessage(Object request)
{
if (!(request instanceof ServletRequest))
throw new IllegalStateException("Not a ServletRequest");
_request = ServletContextRequest.getBaseRequest((ServletRequest)request);
_request = ServletContextRequest.getServletContextRequest((ServletRequest)request);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,6 @@
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;

Expand Down Expand Up @@ -610,8 +609,7 @@ public void testProxyViaHeaderValueIsAppended(Class<? extends ProxyServlet> prox
protected void service(HttpServletRequest request, HttpServletResponse response) throws IOException
{
// Make sure the proxy coalesced the Via headers into just one.
ServletContextRequest servletContextRequest = ServletContextRequest.getBaseRequest(request);
assertNotNull(servletContextRequest);
ServletContextRequest servletContextRequest = ServletContextRequest.getServletContextRequest(request);
assertEquals(1, servletContextRequest.getHeaders().getFields(HttpHeader.VIA).size());
PrintWriter writer = response.getWriter();
List<String> viaValues = Collections.list(request.getHeaders("Via"));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -224,8 +224,8 @@ public void onComplete(AsyncEvent event) throws IOException
String cname = findContextName(ace.getServletContext());
String rname = findRequestName(ace.getAsyncContext().getRequest());

ServletContextRequest br = ServletContextRequest.getBaseRequest(ace.getAsyncContext().getRequest());
Response response = br.getResponse();
ServletContextRequest request = ServletContextRequest.getServletContextRequest(ace.getAsyncContext().getRequest());
Response response = request.getResponse();
String headers = _showHeaders ? ("\n" + response.getHeaders().toString()) : "";

log("! ctx=%s r=%s onComplete %s %d%s", cname, rname, ace.getServletRequestState(), response.getStatus(), headers);
Expand All @@ -244,10 +244,8 @@ public void requestInitialized(ServletRequestEvent sre)
DispatcherType d = r.getDispatcherType();
if (d == DispatcherType.REQUEST)
{
ServletContextRequest br = ServletContextRequest.getBaseRequest(r);

String headers = _showHeaders ? ("\n" + br.getHeaders().toString()) : "";

ServletContextRequest request = ServletContextRequest.getServletContextRequest(r);
String headers = _showHeaders ? ("\n" + request.getHeaders().toString()) : "";
StringBuffer url = r.getRequestURL();
if (r.getQueryString() != null)
url.append('?').append(r.getQueryString());
Expand All @@ -258,11 +256,13 @@ public void requestInitialized(ServletRequestEvent sre)
r.getMethod(),
url.toString(),
r.getProtocol(),
br.getConnectionMetaData(),
request.getConnectionMetaData(),
headers);
}
else
{
log(">> %s ctx=%s r=%s", d, cname, rname);
}
}

@Override
Expand All @@ -279,9 +279,9 @@ public void requestDestroyed(ServletRequestEvent sre)
}
else
{
ServletContextRequest br = ServletContextRequest.getBaseRequest(r);
String headers = _showHeaders ? ("\n" + br.getResponse().getHeaders().toString()) : "";
log("<< %s ctx=%s r=%s async=false %d%s", d, cname, rname, ServletContextRequest.getBaseRequest(r).getResponse().getStatus(), headers);
ServletContextRequest request = ServletContextRequest.getServletContextRequest(r);
String headers = _showHeaders ? ("\n" + request.getResponse().getHeaders().toString()) : "";
log("<< %s ctx=%s r=%s async=false %d%s", d, cname, rname, request.getResponse().getStatus(), headers);
}
}
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -342,7 +342,7 @@ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws Se
boolean included = req.getAttribute(RequestDispatcher.INCLUDE_REQUEST_URI) != null;
try
{
HttpContent content = _resourceService.getContent(pathInContext, ServletContextRequest.getBaseRequest(req));
HttpContent content = _resourceService.getContent(pathInContext, ServletContextRequest.getServletContextRequest(req));
if (content == null || !content.getResource().exists())
{
if (included)
Expand All @@ -367,7 +367,7 @@ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws Se
if (coreResponse.isCommitted())
{
if (LOG.isDebugEnabled())
LOG.debug("Response already committed for {}", coreRequest._coreRequest.getHttpURI());
LOG.debug("Response already committed for {}", coreRequest._request.getHttpURI());
return;
}

Expand Down Expand Up @@ -419,14 +419,14 @@ private static class ServletCoreRequest implements Request
// TODO fully implement this class and move it to the top level
// TODO Some methods are directed to core that probably should be intercepted

private final HttpServletRequest _request;
private final Request _coreRequest;
private final HttpServletRequest _servletRequest;
private final Request _request;
private final HttpFields _httpFields;

ServletCoreRequest(HttpServletRequest request)
{
_request = request;
_coreRequest = ServletContextRequest.getBaseRequest(request);
_servletRequest = request;
_request = ServletContextRequest.getServletContextRequest(request);

HttpFields.Mutable fields = HttpFields.build();

Expand All @@ -453,91 +453,91 @@ public HttpFields getHeaders()
@Override
public HttpFields getTrailers()
{
return _coreRequest.getTrailers();
return _request.getTrailers();
}

@Override
public HttpURI getHttpURI()
{
return _coreRequest.getHttpURI();
return _request.getHttpURI();
}

@Override
public String getPathInContext()
{
return URIUtil.addPaths(_request.getServletPath(), _request.getPathInfo());
return URIUtil.addPaths(_servletRequest.getServletPath(), _servletRequest.getPathInfo());
}

@Override
public void demand(Runnable demandCallback)
{
_coreRequest.demand(demandCallback);
_request.demand(demandCallback);
}

@Override
public void fail(Throwable failure)
{
_coreRequest.fail(failure);
_request.fail(failure);
}

@Override
public String getId()
{
return _request.getRequestId();
return _servletRequest.getRequestId();
}

@Override
public Components getComponents()
{
return _coreRequest.getComponents();
return _request.getComponents();
}

@Override
public ConnectionMetaData getConnectionMetaData()
{
return _coreRequest.getConnectionMetaData();
return _request.getConnectionMetaData();
}

@Override
public String getMethod()
{
return _request.getMethod();
return _servletRequest.getMethod();
}

@Override
public Context getContext()
{
return _coreRequest.getContext();
return _request.getContext();
}

@Override
public long getTimeStamp()
{
return _coreRequest.getTimeStamp();
return _request.getTimeStamp();
}

@Override
public boolean isSecure()
{
return _request.isSecure();
return _servletRequest.isSecure();
}

@Override
public Content.Chunk read()
{
return _coreRequest.read();
return _request.read();
}

@Override
public boolean isPushSupported()
{
return _coreRequest.isPushSupported();
return _request.isPushSupported();
}

@Override
public void push(MetaData.Request request)
{
_coreRequest.push(request);
this._request.push(request);
}

@Override
Expand All @@ -549,7 +549,7 @@ public boolean addErrorListener(Predicate<Throwable> onError)
@Override
public TunnelSupport getTunnelSupport()
{
return _coreRequest.getTunnelSupport();
return _request.getTunnelSupport();
}

@Override
Expand All @@ -560,30 +560,30 @@ public void addHttpStreamWrapper(Function<HttpStream, HttpStream.Wrapper> wrappe
@Override
public Object removeAttribute(String name)
{
Object value = _request.getAttribute(name);
_request.removeAttribute(name);
Object value = _servletRequest.getAttribute(name);
_servletRequest.removeAttribute(name);
return value;
}

@Override
public Object setAttribute(String name, Object attribute)
{
Object value = _request.getAttribute(name);
_request.setAttribute(name, attribute);
Object value = _servletRequest.getAttribute(name);
_servletRequest.setAttribute(name, attribute);
return value;
}

@Override
public Object getAttribute(String name)
{
return _request.getAttribute(name);
return _servletRequest.getAttribute(name);
}

@Override
public Set<String> getAttributeNameSet()
{
Set<String> set = new HashSet<>();
Enumeration<String> e = _request.getAttributeNames();
Enumeration<String> e = _servletRequest.getAttributeNames();
while (e.hasMoreElements())
set.add(e.nextElement());
return set;
Expand All @@ -592,9 +592,9 @@ public Set<String> getAttributeNameSet()
@Override
public void clearAttributes()
{
Enumeration<String> e = _request.getAttributeNames();
Enumeration<String> e = _servletRequest.getAttributeNames();
while (e.hasMoreElements())
_request.removeAttribute(e.nextElement());
_servletRequest.removeAttribute(e.nextElement());
}
}

Expand Down Expand Up @@ -1089,7 +1089,7 @@ protected boolean passConditionalHeaders(Request request, Response response, Htt
private HttpServletRequest getServletRequest(Request request)
{
// TODO, this unwrapping is fragile
return ((ServletCoreRequest)request)._request;
return ((ServletCoreRequest)request)._servletRequest;
}

private HttpServletResponse getServletResponse(Response response)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,12 +101,12 @@ public void forward(ServletRequest request, ServletResponse response) throws Ser
HttpServletRequest httpRequest = (request instanceof HttpServletRequest) ? (HttpServletRequest)request : new ServletRequestHttpWrapper(request);
HttpServletResponse httpResponse = (response instanceof HttpServletResponse) ? (HttpServletResponse)response : new ServletResponseHttpWrapper(response);

ServletContextRequest baseRequest = Objects.requireNonNull(ServletContextRequest.getBaseRequest(request));
baseRequest.getResponse().resetForForward();
ServletContextRequest servletContextRequest = ServletContextRequest.getServletContextRequest(request);
servletContextRequest.getResponse().resetForForward();
_mappedServlet.handle(_servletHandler, _pathInContext, new ForwardRequest(httpRequest), httpResponse);

// If we are not async and not closed already, then close via the possibly wrapped response.
if (!baseRequest.getState().isAsync() && !baseRequest.getHttpOutput().isClosed())
if (!servletContextRequest.getState().isAsync() && !servletContextRequest.getHttpOutput().isClosed())
{
try
{
Expand Down Expand Up @@ -148,24 +148,20 @@ public class ParameterRequestWrapper extends HttpServletRequestWrapper
{
private final MultiMap<String> _params = new MultiMap<>();
private boolean decodedParams = false;
private final HttpServletRequest _httpServletRequest;
private final ServletContextRequest _baseRequest;
private final ServletContextRequest _request;

public ParameterRequestWrapper(HttpServletRequest request)
{
super(request);
_httpServletRequest = request;

// Have to assume ENCODING because we can't know otherwise.
String targetQuery = (_uri == null) ? null : _uri.getQuery();
if (targetQuery != null)
UrlEncoded.decodeTo(targetQuery, _params, UrlEncoded.ENCODING);

_baseRequest = ServletContextRequest.getBaseRequest(_httpServletRequest);
if (_baseRequest == null)
throw new IllegalStateException();
_request = ServletContextRequest.getServletContextRequest(request);

Fields queryParams = _baseRequest.getServletApiRequest().getQueryParams();
Fields queryParams = _request.getServletApiRequest().getQueryParams();
for (Fields.Field field : queryParams)
{
_params.addValues(field.getName(), field.getValues());
Expand All @@ -178,7 +174,7 @@ private MultiMap<String> getParams()
return _params;
decodedParams = true;

Fields contentParams = _baseRequest.getServletApiRequest().getContentParams();
Fields contentParams = _request.getServletApiRequest().getContentParams();
for (Fields.Field field : contentParams)
{
_params.addValues(field.getName(), field.getValues());
Expand Down
Loading