The predicate languages are executed before the Servler handlers, so they won't be handled by Servlet error pages.

If you are setting this all up programmatically you could use io.undertow.servlet.api.DeploymentInfo#addOuterHandlerChainWrapper to setup the predicate handler after the initial servlet one, which should mean that the servlet error handling will handle the response code.

Stuart

On Fri, 3 Jul 2020 at 08:25, Brad Wood <bdw429s@gmail.com> wrote:
When I configure an error page similar to this:

servletBuilder.addErrorPage( new ErrorPage( "404.html", 404));

This works great when I hit a path in my browser that doesn't exist.  The contents of the 404.html file is served with a response code of 404.

However, if I also use the predicate language to define something like:

path(/box.json)->response-code(404)

and then I hit localhost/box.json in my browser, I get a 404 status code but with no response body. 
  • The docs say the response-code handler ends the exchange, but should it still respect the error pages?
  • How can I modify my use of Undertow to respect the error pages when using the response-code handler?
  • I've seen in the docs the ability to have a addDefaultResponseListener() but I'm not sure if it is the correct solution for this, nor how I would access the error page configuration dynamically as to not need to duplicate my work.
Thanks!

~Brad

Developer Advocate
Ortus Solutions, Corp 

ColdBox Platform: http://www.coldbox.org 

_______________________________________________
undertow-dev mailing list
undertow-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/undertow-dev