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-1071
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-1065
Prior to this commit, gh-948 added a fallback support for the
"application/graphql" content-type sent by clients. This media type is
not widely used and advised against by the spec group.
This fallback checked for an exact match of the content type, not taking
into account potential media type parameters such as charset.
This commit ensure that a `MediaType#include` comparison is used to
trigger the fallback.
Fixes gh-1038
This commit aligns DEBUG logging of exceptions resolved via annotated
exception handler methods with ExceptionResolversExceptionHandler and
the reference documentation.
Closes gh-996
The failure was in GraphQlWebSocketHandlerTests for WebMvc.
the subscriptionExists test checks that a second subscription with
same id will close the connection with 4409. It also checks that
2 messages have arrived (connection_init) and one message from the
first subscription. However, since message handling as async,
handling of the two subscriptions is concurrent, and the connection
may be closed before the first subscription is able to send.
This commit adjusts the message checks to be more lenient and
accept between 1 and 2 messages.
This is a temporary workaround to fix off-by-1 misalignment with
Spring Data, which uses 1-based offset values. Once the changes
in Spring Data become clear, we'll also adjust accordingly.
Closes gh-925