The GitHub Actions job "CI" on grails-core.git/fix/16129-grailswebrequest-cast 
has succeeded.
Run started by GitHub user jdaugherty (triggered by jdaugherty).

Head commit for run:
912be076d0a28e59e03e6e22f989b0e9d30ec7ec / James Daugherty 
<[email protected]>
Resolve error handlers and mapping names without a bound GrailsWebRequest

A DispatcherServlet other than the Grails one - the one MockMvc runs, for
example - binds a plain ServletRequestAttributes over the GrailsWebRequest
that GrailsWebRequestFilter bound. Guarding the casts alone left
GrailsExceptionResolver forwarding to a controller error handler with a
null GrailsWebRequest, so the original exception was still replaced.

- URL mapping names, reverse mappings and the default URL creator find the
  GrailsWebRequest the filter stored on the request when the bound
  attributes are plain
- Without one, a name closure is not called and resolves to null, and a map
  of HTTP methods is keyed by the method of the bound request. With no
  attributes bound at all, a closure is still called without a delegate
- GrailsExceptionResolver forwards to a controller error handler only when
  the request has a GrailsWebRequest, and an error handler that cannot be
  resolved no longer replaces the exception being resolved: it is logged
  and the /error view renders the original exception
- The default URL creator no longer prefixes URLs with "null" when there is
  no context path

Fixes #16129

Report URL: https://github.com/apache/grails-core/actions/runs/36102769953

With regards,
GitHub Actions via GitBox

Reply via email to