Add WebGraphQlClient as a common representation for a Web GraphQlClient
extension and its builders that has to be started through the HTTP or
WebSocket implementations.
Remove the common base builder for HTTP and WebSocket, with HTTP simply
delegating to the underlying WebClient builder For WebSocket, builder
state is exposed from the transport to simplify the mutation logic.
DefaultGraphQlClientBuilder is now abstract, leaving subclasses to
implement the build method.
See gh-10
Now that transport specific GraphQlClient extensions provide a unified
builder for GraphQlClient and transport configuration, the transports
become a private implementation detail.
See gh-10
Add HttpGraphQlClient and WebSocketGraphQlClient extensions along with
a builder hierarchy that combines GraphQlClient and transport specific
configuration.
See gh-10
Extract GraphQlRequest, as a parent of RequestInput, that holds the
actual request inputs sent from the client side. RequestInput then
adds server-side transport details and ExecutionInput support.
Also replace "query" with "document" in GraphQlRequest and in
GraphQlClient.
Closes gh-310
This commit ensures that the `Resource` description is provided when
a schema resource is missing, cannot be read, or is invalid.
This is useful when the application holds multiple schema files and
an error is thrown because of a particular file.
Close gh-307
Important to mention the `GraphQlSourceBuilderCustomizer` which is
otherwise mentioned neither in the Boot starter nor the reference here.
It is the path to a number of customizations that are discussed in
`GraphQlSource` subsections.
See gh-233
This is required as otherwise they're deactivated during the staging of
a release. We should reconsider our dependency on Spring Boot SNAPSHOTs
in our samples.
Prior to this commit, spring-graphql would depend on Kotlin 1.6, which
is not in line with Spring Framework 5.3.x requirements. This commit
realigns our dependency management on Kotlin 1.5.x.
Also, this commit configures the build to not publish a kotlin-stdlib
runtime dependency in our POM.
Closes gh-265