Commit Graph

1212 Commits

Author SHA1 Message Date
rstoyanchev
a18586bed7 Polishing docs on schema mapping inspection
See gh-924
2024-03-25 15:36:20 +00:00
rstoyanchev
77b1f1a923 SchemaMappingInspector support for unions and interfaces
See gh-924
2024-03-25 14:38:39 +00:00
rstoyanchev
4a14dc2697 Extract TypePair in SchemaMappingInspector
Refactor logic to determine the GraphQL type and Java type for a
field into private, nested class.

See gh-924
2024-03-25 14:37:33 +00:00
rstoyanchev
7e2a671ca5 ClassNameTypeResolver resolves to concrete types only
See gh-924
2024-03-24 06:13:28 +00:00
rstoyanchev
e902b829e5 Polishing in ClassNameTypeResolverTests
See gh-924
2024-03-24 06:13:28 +00:00
rstoyanchev
d794d373c8 Merge branch '1.2.x' 2024-03-22 17:56:00 +00:00
rstoyanchev
1a3ae735c1 Add Thread Model section to documentation
Closes gh-907
2024-03-22 17:51:51 +00:00
rstoyanchev
7140e6cbae Avoid AssertException for persisted query
Closes gh-930
2024-03-22 13:37:28 +00:00
Brian Clozel
2f9840376e Upgrade to GraphQL Java 22 test version
This commit upgrades GraphQL Java to
"0.0.0-2024-03-20T00-25-33-974c165", a test version for the upcoming
22.0 release.

See gh-932
2024-03-21 15:19:47 +01:00
rstoyanchev
3da533d245 Update EntityMapping test to use batch mapping 2024-03-20 20:14:37 +00:00
rstoyanchev
47b873af12 Revert "Configurable ContextSnapshotFactory instance"
This reverts commit dcaa1511a1.
2024-03-15 10:02:08 +00:00
rstoyanchev
267b514cf2 Schema inspection support for unmapped arguments
Closes: gh-740
2024-03-15 10:01:18 +00:00
rstoyanchev
dcaa1511a1 Configurable ContextSnapshotFactory instance
Closes gh-919
2024-03-13 13:32:08 +00:00
Brian Clozel
0ccb4464ce Merge branch '1.2.x' 2024-03-08 10:00:19 +01:00
Brian Clozel
0fa2c4f104 Do not override custom local context in observation instrumentation
Prior to this commit, the `GraphQlObservationInstrumentation` would
always assume that local context instances are of type `GraphQLContext`.
This means that a custom context type would be overwritten with a
`GraphQLContext` that contains the current observation.

Instead, this commit ensures that a local context is contributed only if
none was present, or that we wrap the existing one only if it is a
`GraphQLContext` in the first place. If the parent data fetcher
contributes a custom context, the current observation will not be added.

Fixes gh-918
2024-03-08 09:49:20 +01:00
Maksim Sasnouski
0bdda15b2d Upgrade com.gradle.enterprise plugin to 3.16.2 2024-03-07 11:05:34 +00:00
Brian Clozel
e21d4aedbd Upgrade to Spring Security 6.3.0-M2
See gh-888
2024-02-21 10:30:57 +01:00
Brian Clozel
64f0698a39 Upgrade to Micrometer 1.13.0-M1
See gh-886
2024-02-21 10:30:29 +01:00
Brian Clozel
3933d3a954 Update Javadoc link to graphql-java 21.3 2024-02-21 10:29:51 +01:00
Brian Clozel
fffc21569f Merge branch '1.2.x' 2024-02-21 10:11:53 +01:00
Spring Builds
9d735b9c94 Next development version (v1.2.6-SNAPSHOT) 2024-02-21 08:55:43 +00:00
rstoyanchev
bd6ca27376 Merge branch '1.2.x' 2024-02-20 23:20:07 +00:00
rstoyanchev
248cfe22ba Revise default ScrollSubrange for QueryDsl and QBE
The QueryDsl and QBE data fetcher builders now accept a default count
and a function for a default position with awareness of the scroll
direction.

Closes gh-917
2024-02-20 23:19:48 +00:00
rstoyanchev
9817230638 Adapt offset scroll from inclusive to exclusive
Both forward and backward scrolling needed adjustment.
For forward, we were not advancing by 1.
For backward, we were advancing by the count and 1 more than necessary.

Closes gh-916
2024-02-20 23:19:26 +00:00
Brian Clozel
eba7e9540a Merge branch '1.2.x' 2024-02-20 11:03:52 +01:00
Brian Clozel
53108d0c8d Fix ControllerAdvice ordering support
Prior to this commit, the `ControllerAdvice` support would detect all
beans and exception handler methods, to put them in an ordered `TreeMap`
using the `OrderComparator.INSTANCE`. Doing so would naturally consider
beans with the same order as duplicates and would write a single entry
in the map. This effectively ignored many `ControllerAdvice` beans with
the same order (but one).

This commit removes the use of a `TreeMap` and instead uses a
`LinkedHashMap` and the insertion order for proper ordering.

Fixes gh-901
2024-02-20 10:57:26 +01:00
Brian Clozel
86237efcfe Update build status in README for 1.3.x 2024-02-20 10:27:01 +01:00
rstoyanchev
69f3b2453a Merge branch '1.2.x' 2024-02-20 07:26:58 +00:00
rstoyanchev
43a76c487a Polishing
See gh-915
2024-02-20 07:20:54 +00:00
rstoyanchev
3381774fb9 Improve check whether to create DataLoaderRegistry
Closes gh-915
2024-02-20 07:18:34 +00:00
rstoyanchev
c5acccf770 Add DgsGraphQlClient
Closes gh-846
2024-02-19 19:41:23 +00:00
Brian Clozel
b727854fa5 Make SchemaMappingInspectorTests more resilient
This commit prevents false positive for test failures, when the ordering
of schema inspection statement varies.
2024-02-17 20:15:05 +01:00
Brian Clozel
338ca0f0b0 Upgrade optional dependencies 2024-02-17 20:13:59 +01:00
Brian Clozel
5b8a13a47b Upgrade to Spring Security 6.2.2
See gh-888
2024-02-17 20:12:08 +01:00
Brian Clozel
2459e41b66 Upgrade to Spring Data 2023.1.3
See gh-887
2024-02-17 20:11:29 +01:00
Brian Clozel
29f2e71ace Upgrade to Micrometer Tracing 1.2.3
See gh-890
2024-02-17 20:10:19 +01:00
Brian Clozel
f09c20f701 Upgrade to Micrometer 1.12.3
See gh-886
2024-02-17 20:09:19 +01:00
Brian Clozel
ae4c9c4211 Upgrade to Reactor 2023.0.3
See gh-885
2024-02-17 20:07:31 +01:00
Brian Clozel
97b1c64098 Upgrade to Spring Framework 6.1.4
See gh-883
2024-02-17 20:05:37 +01:00
Brian Clozel
8a7938c29a Merge branch '1.2.x' 2024-02-17 19:09:40 +01:00
Brian Clozel
c72415f361 Upgrade optional dependencies 2024-02-17 19:08:59 +01:00
Brian Clozel
05947f92e0 Upgrade to Spring Security 6.1.7
Closes gh-913
2024-02-17 19:08:37 +01:00
Brian Clozel
5b1be8f556 Upgrade to Spring Data 2023.0.9
Closes gh-912
2024-02-17 19:08:05 +01:00
Brian Clozel
ad63bad767 Upgrade to Micrometer 1.11.9 and Tracing 1.1.10
Closes gh-911
2024-02-17 19:05:46 +01:00
Brian Clozel
375c26598c Upgrade to Reactor 2022.0.16
Closes gh-910
2024-02-17 19:03:57 +01:00
Brian Clozel
f054149e35 Upgrade to Spring Framework 6.0.17
Closes gh-909
2024-02-17 19:01:25 +01:00
Brian Clozel
698ca0356c Upgrade to Kotlin 1.9.22
Closes gh-908
2024-02-17 19:00:27 +01:00
Brian Clozel
083fec96a4 Create optimized RequestPredicate for GraphQL endpoints
Prior to this commit, Spring Boot applications would wire the GraphQL
handlers (for various transports and both WebFlux and WebMVC) with
standard `RequestPredicates` chained into a `RouterFunction`.

While this is the expected way for custom application endpoints, stock
predicates are more general purpose and require some overhead when
copying attributes.

This commit introduces custom predicates, optimized for faster and lower
overhead matching. The new `GraphQlRequestPredicates` classes provide
factory methods for HTTP and SSE predicates.

Closes gh-906
2024-02-17 18:08:31 +01:00
Brian Clozel
a5fb4fac31 Upgrade to Gradle 8.6 2024-02-17 18:02:44 +01:00
Brian Clozel
1f7063c9b4 Add Server-Sent Events transport
Prior to this commit, the WebFlux and WebMVC infrastructure would only
support subscriptions over the WebSocket and RSocket transports.

This commit adds the `GraphQlSseHandler` implementations for both web
frameworks. This handler will send GraphQL responses as as stream of
Server-Sent Events, over an HTTP response with the "text/event-stream"
content type.

This implementation only supports the "Distinct connections mode" and
will reject all operations other than Subscriptions.

This commit also enhances the `HttpGraphQlTransport` client transport to
support subscriptions over this new protocol.

Closes gh-309
2024-02-15 21:09:27 +01:00