This commit upgrades to Spring Boot 3.4.x, Spring Framework 6.2.x, and
third party dependency versions used by the project.
Closes gh-1108
Signed-off-by: Stéphane Nicoll <stephane.nicoll@broadcom.com>
We now flatten argument maps to ensure keys in the resulting
parameter map are fully-qualified property paths.
Previously, we built a parameter map containing nested maps
leading to invalid queries.
Closes gh-1085
Prior to this commit, `@BatchMapping` controller methods would be
automatically registered as date fetchers delegating to data loader
calls. Those calls would not include the current local context or main
context. As a result, injecting the `BatchLoaderEnvironment` in the
controller method signature would not contain the `getKeyContext()`.
This commit ensures that dataloader calls not only use the current
source, but also the current local context/main context so that it will
be present in the key contexts map.
Fixes gh-1066
Prior to this commit, the MVC `GraphQlSseHandler` would not react to
async request timeouts thrown by the Servlet container. This means that
when such timeouts happened, the SSE handler would still try to write to
the underlying response, whereas it was already recycled. This would
lead to NullPointerException thrown by the container.
This commit ensures that the SSE handler registers an async listener to
be notified of async timeouts and cancels the publisher as a result.
The SSE completion is not performed so as to let the client know that
the exchange did not complete and that it should re-subscribe.
Fixes gh-1067
Prior to this commit, enum types would be rejected as possible source
arguments for schema mapping methods.
This is a valid use case and this commit removes this limitation.
Closes gh-1059
Prior to this commit, the `DefaultExecutionRequestObservationConvention`
would only produce "INTERNAL_ERROR" outcomes if the response is null or
if an unresolved exception remains.
The `ExceptionResolversExceptionHandler` will catch all unresolved
exceptions and add them to the errors map with the
`ErorType.INTERNAL_ERROR` error type. This means that the
"INTERNAL_ERROR" outcome is never used.
This commit ensures that this outcome is also used if at least one
resolved error is of `ErorType.INTERNAL_ERROR`.
Fixes gh-1058
Prior to this commit, Server Sent Events and WebSocket handlers for MVC
would not behave properly in case the client disconnects while the
response is written to. This would throw an `IOException` processed by
the `BaseSubscriber` handlers, but would not actively cancel the
upstream publisher. This means the publisher would keep publishing
values even though it is not possible to write to the connection
anymore.
This commit ensures that any exception triggers a cancel signal sent to
the upstream publisher to avoid such cases.
Fixes gh-1060