You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2015/10/09 13:56:22 UTC
[1/2] wicket git commit: Revert "simplify filter handling: don't pass
the chain around, use the boolean return in #doFilter() instead"
Repository: wicket
Updated Branches:
refs/heads/master 0d5011480 -> ada27ba4e
Revert "simplify filter handling: don't pass the chain around, use the boolean return in #doFilter() instead"
This reverts commit 0d50114800b44c888ec3d719e06427d4f322925c.
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/af24051e
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/af24051e
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/af24051e
Branch: refs/heads/master
Commit: af24051e23be8795301b7214db3675528a1aed06
Parents: 0d50114
Author: Sven Meier <sv...@apache.org>
Authored: Fri Oct 9 13:48:55 2015 +0200
Committer: Sven Meier <sv...@apache.org>
Committed: Fri Oct 9 13:48:55 2015 +0200
----------------------------------------------------------------------
.../wicket/protocol/http/WicketFilter.java | 24 +++++++++++++-------
.../wicket/protocol/http/WicketServlet.java | 4 ++--
.../wicket/protocol/http/WicketFilterTest.java | 8 +++++--
3 files changed, 24 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/af24051e/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
index 197603d..d73a4a7 100644
--- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
+++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
@@ -132,12 +132,13 @@ public class WicketFilter implements Filter
*
* @param request
* @param response
+ * @param chain
* @return false, if the request could not be processed
* @throws IOException
* @throws ServletException
*/
- boolean processRequest(ServletRequest request, final ServletResponse response)
- throws IOException, ServletException
+ boolean processRequest(ServletRequest request, final ServletResponse response,
+ final FilterChain chain) throws IOException, ServletException
{
final ThreadContext previousThreadContext = ThreadContext.detach();
@@ -168,6 +169,10 @@ public class WicketFilter implements Filter
if (shouldIgnorePath(httpServletRequest))
{
log.debug("Ignoring request {}", httpServletRequest.getRequestURL());
+ if (chain != null)
+ {
+ chain.doFilter(request, response);
+ }
return false;
}
@@ -196,7 +201,7 @@ public class WicketFilter implements Filter
RequestCycle requestCycle = application.createRequestCycle(webRequest, webResponse);
res = processRequestCycle(requestCycle, webResponse, httpServletRequest,
- httpServletResponse);
+ httpServletResponse, chain);
}
else
{
@@ -241,13 +246,14 @@ public class WicketFilter implements Filter
* @param webResponse
* @param httpServletRequest
* @param httpServletResponse
+ * @param chain
* @return false, if the request could not be processed
* @throws IOException
* @throws ServletException
*/
protected boolean processRequestCycle(RequestCycle requestCycle, WebResponse webResponse,
- HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse)
- throws IOException, ServletException
+ HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse,
+ final FilterChain chain) throws IOException, ServletException
{
// Assume we are able to handle the request
boolean res = true;
@@ -258,6 +264,10 @@ public class WicketFilter implements Filter
}
else
{
+ if (chain != null)
+ {
+ chain.doFilter(httpServletRequest, httpServletResponse);
+ }
res = false;
}
return res;
@@ -271,9 +281,7 @@ public class WicketFilter implements Filter
public void doFilter(final ServletRequest request, final ServletResponse response,
final FilterChain chain) throws IOException, ServletException
{
- if (!processRequest(request, response)) {
- chain.doFilter(request, response);
- }
+ processRequest(request, response, chain);
}
/**
http://git-wip-us.apache.org/repos/asf/wicket/blob/af24051e/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketServlet.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketServlet.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketServlet.java
index 2a8731e..5768c4f 100644
--- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketServlet.java
+++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketServlet.java
@@ -134,7 +134,7 @@ public class WicketServlet extends HttpServlet
public final void doGet(final HttpServletRequest servletRequest,
final HttpServletResponse servletResponse) throws ServletException, IOException
{
- if (wicketFilter.processRequest(servletRequest, servletResponse) == false)
+ if (wicketFilter.processRequest(servletRequest, servletResponse, null) == false)
{
fallback(servletRequest, servletResponse);
}
@@ -156,7 +156,7 @@ public class WicketServlet extends HttpServlet
public final void doPost(final HttpServletRequest servletRequest,
final HttpServletResponse servletResponse) throws ServletException, IOException
{
- if (wicketFilter.processRequest(servletRequest, servletResponse) == false)
+ if (wicketFilter.processRequest(servletRequest, servletResponse, null) == false)
{
fallback(servletRequest, servletResponse);
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/af24051e/wicket-core/src/test/java/org/apache/wicket/protocol/http/WicketFilterTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/protocol/http/WicketFilterTest.java b/wicket-core/src/test/java/org/apache/wicket/protocol/http/WicketFilterTest.java
index f1b4ce9..7fc36a7 100644
--- a/wicket-core/src/test/java/org/apache/wicket/protocol/http/WicketFilterTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/protocol/http/WicketFilterTest.java
@@ -484,23 +484,27 @@ public class WicketFilterTest extends Assert
return (String)invocation.getArguments()[0];
}
});
+ FilterChain chain = mock(FilterChain.class);
// execute 3 requests - 1 for bla.js, 1 for bla.css and 1 for bla.img
for (int i = 0; i < 3; i++)
{
- boolean isProcessed = filter.processRequest(request, response);
+ boolean isProcessed = filter.processRequest(request, response, chain);
assertFalse(isProcessed);
verify(application, Mockito.never()).newWebRequest(Matchers.eq(request),
Matchers.anyString());
verify(application, Mockito.never()).newWebResponse(Matchers.any(WebRequest.class),
Matchers.eq(response));
+ verify(chain, Mockito.times(i + 1)).doFilter(request, response);
}
// execute the request to /something/real
- boolean isProcessed = filter.processRequest(request, response);
+ boolean isProcessed = filter.processRequest(request, response, chain);
assertTrue(isProcessed);
verify(application).newWebRequest(Matchers.eq(request), Matchers.anyString());
verify(application).newWebResponse(Matchers.any(WebRequest.class), Matchers.eq(response));
+ // the request is processed so the chain is not executed
+ verify(chain, Mockito.times(3)).doFilter(request, response);
}
/**
[2/2] wicket git commit: added comment: invoke next filter in chain
from within Wicket context
Posted by sv...@apache.org.
added comment: invoke next filter in chain from within Wicket context
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/ada27ba4
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/ada27ba4
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/ada27ba4
Branch: refs/heads/master
Commit: ada27ba4ed4a002392c4e4f302fab790376fd119
Parents: af24051
Author: Sven Meier <sv...@apache.org>
Authored: Fri Oct 9 13:55:51 2015 +0200
Committer: Sven Meier <sv...@apache.org>
Committed: Fri Oct 9 13:55:51 2015 +0200
----------------------------------------------------------------------
.../main/java/org/apache/wicket/protocol/http/WicketFilter.java | 2 ++
1 file changed, 2 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/ada27ba4/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
index d73a4a7..0b5f5bb 100644
--- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
+++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
@@ -171,6 +171,7 @@ public class WicketFilter implements Filter
log.debug("Ignoring request {}", httpServletRequest.getRequestURL());
if (chain != null)
{
+ // invoke next filter from within Wicket context
chain.doFilter(request, response);
}
return false;
@@ -266,6 +267,7 @@ public class WicketFilter implements Filter
{
if (chain != null)
{
+ // invoke next filter from within Wicket context
chain.doFilter(httpServletRequest, httpServletResponse);
}
res = false;