Commit Graph

629 Commits

Author SHA1 Message Date
rstoyanchev
c43a444c78 Refactor use of sinks in WebSocketGraphQlTransport
Replace use of Sinks which does not deal with concurrent sending and
use MonoSink and FluxSink instead.

Closes gh-388
2022-05-13 13:59:39 +01:00
rstoyanchev
57e9ccbfd8 Upgrade to GraphQL Java 18.1 2022-05-13 03:02:30 +01:00
rstoyanchev
476df266f7 Revert "Temporarily disable samples"
This reverts commit c55ffb17c3.
2022-05-13 03:01:49 +01:00
rstoyanchev
b07e4fdd64 Avoid using JSONPath#getPath()
It does not return the original path and omits expressions.

Closes gh-377
2022-05-13 02:24:04 +01:00
rstoyanchev
8549060d19 Add start and stop for RSocket client and tester
Closes gh-378
2022-05-06 11:17:53 +01:00
rstoyanchev
5b59e51bab Add @LocalContextValue and resolver
@ContextValue checks in the main context.
@LocalContextValue checks in the local context.

Closes gh-353
2022-05-06 11:17:53 +01:00
rstoyanchev
07293abf35 Support Mono argument with @ContextValue
Closes gh-355
2022-05-06 11:17:53 +01:00
rstoyanchev
fc424fdb06 Improve WebSocket and RSocket client reference docs
Provide advice around number of client instances and
connection-oriented nature.

Closes gh-368
2022-05-06 11:17:53 +01:00
rstoyanchev
5348129dc5 Polishing client and tester reference docs
Also minor fix for WebSocket client subsections that appeared
incorrectly nested under RSocket.

See gh-368
2022-05-05 14:33:58 +01:00
Brian Clozel
85ad5bbfb4 Rever to "application/json" as default MIME type
As of #108, the `"application/graphql+json"` media type is supported and
has been made the default.

It seems that it is not ready for adoption now; so while we'll keep
supporting it, this commit reverts back to `"application/json"` as the
default media type for servers and clients.

Closes gh-375
2022-05-04 11:14:10 +02:00
Brian Clozel
81a03f2b2d Upgrade versions in CI pipeline
This commit upgrades the versions for:

* JDKs
* Ubuntu OS
* oci-build-task resource
2022-05-03 16:36:21 +02:00
rstoyanchev
ee6115610b HttpGraphQlTransport respects default content-type
Closes gh-359
2022-04-28 21:21:43 +01:00
rstoyanchev
ddc3a1503c FieldAccessException falls back on request errors
A field may be missing not only due to field errors but also due to a
failed request, so the error message should show either, whichever is
not empty.

Closes gh-348
2022-04-28 20:53:19 +01:00
rstoyanchev
d9540fe3c3 Polishing contribution
Closes gh-358
2022-04-28 20:46:17 +01:00
sonallux
229220db1c Fix docs for WebGraphQlTester
See gh-358
2022-04-28 20:46:17 +01:00
rstoyanchev
5d282fd99e Improve readability of assertion messages
Closes gh-361
2022-04-28 20:42:10 +01:00
rstoyanchev
d781ec1fe8 Minor fix in reference docs for BatchMapping methods
Closes gh-360
2022-04-28 20:37:51 +01:00
rstoyanchev
a3977ba082 Parent/source resolver allows CharSequence and Number
Closes gh-370
2022-04-28 20:37:51 +01:00
rstoyanchev
54b1396f0a Polishing 2022-04-28 20:37:51 +01:00
giger85
a94a0649a2 Fix trivial stuff 2022-04-25 16:11:47 +01:00
Brian Clozel
3761dcdcdc Prepare CI pipeline for GA release on Maven Central
Closes gh-356
2022-04-20 16:16:38 +02:00
Anbu Sampath
d0c7935874 Document minimum requirement for GraphQL Java 18.0
Closes gh-357
2022-04-20 14:21:33 +02:00
Brian Clozel
c5d6de8266 Disable publication of test-fixtures JARs 2022-04-19 18:16:45 +02:00
Brian Clozel
b8b1404027 Upgrade to Spring Boot 2.7.0-RC1 dependencies
This commit aligns with the Spring Boot dependency management for the
upcoming 2.7.0-RC1 release.
2022-04-19 17:59:47 +02:00
rstoyanchev
fdf7ce8062 Option to register data fetchers on GraphQLCodeRegistry
Closes gh-312
2022-04-19 15:14:09 +01:00
rstoyanchev
c55ffb17c3 Temporarily disable samples 2022-04-19 14:51:49 +01:00
rstoyanchev
54d061b218 Extract base GraphQlSource builder
Separate more clearly the SDL builder options from other common options
independent of how GraphQLSchema is created.

See gh-312
2022-04-19 14:51:36 +01:00
rstoyanchev
ddb740898e Expose WebSocket session info in interceptor
Expose information about the WebSocketSession consistently in all
methods of WebSocketGraphQlInterceptor.

See gh-268
2022-04-19 08:39:19 +01:00
rstoyanchev
8b5e2a3cba Update WebFlux WebSocket sample tests
- combine existing tests into one class
- add integration tests
2022-04-19 08:39:19 +01:00
rstoyanchev
b8c4b25ee6 Improve Server Interception section
See gh-350
2022-04-19 08:39:19 +01:00
rstoyanchev
7044844c52 Polishing tests 2022-04-19 08:39:19 +01:00
rstoyanchev
2cd7364069 Add note on Hibernate Validator and Kotlin coroutines
See gh-344
2022-04-19 08:39:19 +01:00
rstoyanchev
b5a6790fb5 Polishing Validation section in reference
See gh-344
2022-04-19 08:39:19 +01:00
rstoyanchev
304fb45fb7 Refine handling of unresolved exceptions
Closes gh-352
2022-04-19 08:39:19 +01:00
rstoyanchev
e3cf655a04 Improve logging in ExceptionResolversExceptionHandler
- Resolved exceptions at DEBUG
- Unresolved at ERROR
- Consistent handling of failure from a resolver

Closes gh-336
2022-04-19 08:39:19 +01:00
Brian Clozel
8e7931b449 Upgrade registry-image-resource in CI pipeline to 1.5.0
See spring-projects/spring-boot#30408
2022-04-14 11:27:56 +02:00
Brian Clozel
b9e2728ea2 Upgrade CI to concourse-release-scripts 0.3.4 2022-04-14 11:25:13 +02:00
Jerome Prinet
d4c5b7b1ae Update Gradle Enterprise plugin to 3.9
Closes gh-351
2022-04-14 11:08:30 +02:00
rstoyanchev
dbba8b17f8 Uncomment assertion for context propagation
Closes gh-342
2022-04-12 21:23:02 +01:00
rstoyanchev
218b16e022 JSON config in ExecutionGraphQlServiceTester builder
See gh-345
2022-04-12 15:15:07 +01:00
rstoyanchev
85dc2e5145 Propagate context in WebMvc GraphQlWebSocketHandler
See gh-342
2022-04-12 10:07:46 +01:00
rstoyanchev
e2948e9a36 Upgrade samples to the latest snapshot 2022-04-11 17:40:17 +01:00
rstoyanchev
27f485de84 Revert "Pin samples to 1.0.0-M6" 2022-04-11 17:27:05 +01:00
rstoyanchev
c4f91713ca Revert "Temporarily disable samples" 2022-04-11 17:15:46 +01:00
Brian Clozel
e455ebb3d8 Support application/graphql+json content type
The GraphQL HTTP spec now requires the `"application/graphql+json"`
content type.
This commit applies this type by default in the server and client
implementations. `"application/json"` is still accepted and produced if
requested by clients.

Closes gh-108
2022-04-04 13:34:18 +02:00
Brian Clozel
2cdaf344fc Upgrade Docker and OS version in CI image 2022-04-04 13:16:14 +02:00
rstoyanchev
7a9f9236dc Temporarily disable samples 2022-04-01 21:39:42 +01:00
rstoyanchev
696f2cd02f Refine documentSource locations
Closes gh-338
2022-04-01 21:39:42 +01:00
rstoyanchev
9289f0a1b5 Add MockExecutionGraphQlService in testFixtures 2022-04-01 06:23:39 +01:00
Brian Clozel
8bd39ba0f0 Polish 2022-03-29 18:58:16 +02:00