Merge pull request #5559 from eclipse/jetty-9.4.x-5555-NPE-NamedFilterMapping

Jetty 9.4.x 5555 npe named filter mapping
This commit is contained in:
Joakim Erdfelt 2020-11-02 07:57:18 -06:00 committed by GitHub
commit 981b50df58
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 16 deletions

View File

@ -521,21 +521,8 @@ public class ServletHandler extends ScopedHandler
FilterChain chain = null;
// find the servlet
if (target.startsWith("/"))
{
if (servletHolder != null && _filterMappings != null && _filterMappings.length > 0)
chain = getFilterChain(baseRequest, target, servletHolder);
}
else
{
if (servletHolder != null)
{
if (_filterMappings != null && _filterMappings.length > 0)
{
chain = getFilterChain(baseRequest, null, servletHolder);
}
}
}
if (servletHolder != null && _filterMappings != null && _filterMappings.length > 0)
chain = getFilterChain(baseRequest, target.startsWith("/") ? target : null, servletHolder);
if (LOG.isDebugEnabled())
LOG.debug("chain={}", chain);
@ -593,6 +580,7 @@ public class ServletHandler extends ScopedHandler
protected FilterChain getFilterChain(Request baseRequest, String pathInContext, ServletHolder servletHolder)
{
Objects.requireNonNull(servletHolder);
String key = pathInContext == null ? servletHolder.getName() : pathInContext;
int dispatch = FilterMapping.dispatch(baseRequest.getDispatcherType());
@ -608,7 +596,7 @@ public class ServletHandler extends ScopedHandler
// The mappings lists have been reversed to make this simple and fast.
FilterChain chain = null;
if (servletHolder != null && _filterNameMappings != null && !_filterNameMappings.isEmpty())
if (_filterNameMappings != null && !_filterNameMappings.isEmpty())
{
if (_wildFilterNameMappings != null)
for (FilterMapping mapping : _wildFilterNameMappings)
@ -1626,6 +1614,7 @@ public class ServletHandler extends ScopedHandler
ChainEnd(ServletHolder holder)
{
Objects.requireNonNull(holder);
_servletHolder = holder;
}