Commit Graph

475 Commits

Author SHA1 Message Date
rstoyanchev
736c33aa4e Add GraphQlClient support for WebSocket
See gh-10
2022-02-24 22:15:44 +00:00
rstoyanchev
371c601c9d Add GraphQlClient and GraphQlTransport for HTTP
See gh-10
2022-02-24 22:15:20 +00:00
rstoyanchev
2729ea685a Add TestWebSocketClient and TestWebSocketConnection
Provides support for WebSocket tests without a running server.

See gh-10
2022-02-24 22:13:54 +00:00
rstoyanchev
6c0bbdd132 Extract GraphQlWebSocketMessage and WebSocketCodecDelegate
Allows some reuse between WebFlux and WebMVC and between client and server.

See gh-10
2022-02-24 22:12:24 +00:00
rstoyanchev
afb0b64d3a Add section on directives in reference docs
Closes gh-262
2022-02-17 15:19:01 +00:00
rstoyanchev
194126dc6b Polishing contribution
Closes gh-233
2022-02-17 14:45:09 +00:00
rstoyanchev
1939021ec3 Summarize Boot starter features for GraphQlSource.Builder
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
2022-02-17 14:44:57 +00:00
Jordie
a9cd0a9958 Update docs for PreparsedDocumentSupport
See gh-233
2022-02-17 14:44:57 +00:00
rstoyanchev
1f9afa9be5 Shortcut annotations target method level only again
Closes gh-290
2022-02-17 12:32:18 +00:00
rstoyanchev
937c265091 Support List arguments in QuerydslDataFetcher
Closes gh-281
2022-02-17 12:24:42 +00:00
rstoyanchev
4c6ec7df11 Invoke validation on resolved argument values
Closes gh-289
2022-02-16 21:53:18 +00:00
rstoyanchev
16f4390d22 Ignore duplicate schema resource registrations
Closes gh-230
2022-02-10 12:50:31 +00:00
rstoyanchev
30f86d74f2 Move classes from security to execution package
Security classes should be integrated in their respective areas by
functionality rather than exist as a separate, external layer.
2022-02-10 12:37:13 +00:00
rstoyanchev
6df6ab78c8 Support for @Arguments method parameter
Closes gh-258
2022-02-10 12:19:31 +00:00
rstoyanchev
32930f7e88 Add logo to README.md 2022-02-09 10:51:32 +00:00
rstoyanchev
b17d4e2425 Add @AuthenticationPrincipal to reference
See gh-272
2022-02-08 20:58:55 +00:00
rstoyanchev
0842deb593 Polishing
See gh-272
2022-02-08 20:50:55 +00:00
Rob Winch
db1570909f Add AuthenticationPrincipalArgumentResolver
Closes gh-272
2022-02-08 20:50:55 +00:00
rstoyanchev
5bc9d9ab24 Fix arguments to Assert.isInstanceOf
Closes gh-282
2022-02-08 17:04:58 +00:00
rstoyanchev
2095e1795f Refine valueIsEmpty check 2022-02-08 17:02:30 +00:00
rstoyanchev
0b449d89e1 Callbacks for ConversionService customization
Closes gh-271
2022-02-03 10:16:57 +00:00
rstoyanchev
d2cad053ac Polishing 2022-02-03 10:16:57 +00:00
Brian Clozel
a89ae5034f Upgrade JDK versions in CI image 2022-02-03 10:26:22 +01:00
Brian Clozel
e2d3b61b8d Upgrade Ubuntu version in CI image 2022-02-03 10:24:14 +01:00
rstoyanchev
cc3c1d163e Improvements in data section of reference docs
See gh-248
2022-01-21 17:32:28 +00:00
rstoyanchev
4a031ba519 Create dedicated section on projections
Closes gh-264
2022-01-21 17:32:28 +00:00
Mark Paluch
f34da2589b Describe aggregates and projections
See gh-264
2022-01-21 16:53:42 +00:00
rstoyanchev
50b794cae0 Minor refactoring in RequestInput 2022-01-21 13:16:44 +00:00
Brian Clozel
76940c279e Configure Javadoc links to external sources 2022-01-19 15:48:06 +01:00
Brian Clozel
c86ea72b5e Temporarily add SNAPSHOT plugin repository
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.
2022-01-19 15:17:44 +01:00
Brian Clozel
641b0f0506 Align Kotlin dependency on Spring Framework 5.3.x
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
2022-01-19 14:54:36 +01:00
Brian Clozel
410e7e60ae Revisit Gradle repositories configuration 2022-01-19 14:22:04 +01:00
rstoyanchev
1bbaf9e524 Update links to Spring Boot starter section
Closes gh-254
2022-01-18 14:38:08 +00:00
rstoyanchev
0343ad9605 Update docs with section on Schema Creation
Closes gh-226
2022-01-18 12:30:30 +00:00
rstoyanchev
bde86d3dd1 Update docs on batch loading registration and tests
Closes gh-246
2022-01-18 11:24:01 +00:00
rstoyanchev
bc70922ea2 Polishing contribution
Closes gh-203
2022-01-17 21:32:58 +00:00
Jordie
175673d291 Convert websocket error message payload to array
As expected in graphql-ws protocol

See gh-200
2022-01-17 21:25:40 +00:00
rstoyanchev
6d37d9bbc7 Polishing contribution
Closes gh-256
2022-01-17 21:22:43 +00:00
Minsu Lee
ab29a96a8d Fix subprotocol for subscriptions-transport-ws
See gh-256
2022-01-17 21:20:53 +00:00
rstoyanchev
d8d8229a33 Polishing
Missed one deprecation and doc updates.

See gh-244
2022-01-17 21:09:00 +00:00
rstoyanchev
5ff3f8b18d Refactor auto-registration of Querydsl and QBE fetchers
Replace the TypeVisitor with a WiringFactory that checks for existing
registrations in RuntimeWiring.Builder.

Closes gh-244
2022-01-14 19:00:36 +00:00
rstoyanchev
2ecac0bd35 Multiple WiringFactory registrations
CombinedWiringFactory makes use of multiple WiringFactory instances
possible, but RuntimeWiring.Builder does not use it by default.

This change enables use of multiple WiringFactory instances through
an extra callback on RuntimeWiringConfigurer that allows multiple
parties to add their own WiringFactory.

See gh-244
2022-01-14 18:44:54 +00:00
Brian Clozel
be74ba2b59 Remove experimental Spring Boot Starter
This commit removes the leftover sources after the experimental Spring
Boot starter has been moved to Spring Boot.

See gh-207
2022-01-13 16:43:37 +01:00
Brian Clozel
5b0496cbce Allow setting custom ExecutionId on RequestInput
Prior to this commit, we would use the request id as an execution id,
regardless of the overall GraphQL configuration.

This commit:

* adds a new executionId field on `RequestInput` and uses it in the
  `ExecutionInput`, if provided
* only uses the request id as a fallback if it's been asked to
* auto-detect in the `GraphQlService` whether a custom
  `ExecutionIdProvider` implementation was configured on `GraphQL`.

Closes gh-243
2022-01-13 14:41:31 +01:00
Brian Clozel
c9f35ce916 Upgrade base for CI image 2022-01-13 14:41:31 +01:00
rstoyanchev
7a7e2e87dc Update project name to Spring for GraphQL
Closes gh-255
2022-01-13 12:16:02 +00:00
Brian Clozel
10abd919ec Configure WebSocket transport with GraphiQL
This commit enhances the GraphiQL `index.html` to rely in the
graphiql-tools fetcher function; this supports both HTTP and WebSocket
transports.

As a follow-up, this also updates the `GraphiQlHandler` implementations
to also send a `wsPath` query param if a specific path has been
configured for the WebSocket support.

As an additional change, this commit also improves the fix for gh-231 as
it was incomplete: the generated query params were not taking the
context path into account.

Closes gh-131
Closes gh-231
2022-01-10 17:05:23 +01:00
rstoyanchev
8c655cb25d Simplify access to response headers in WebOutput
The response headers can now be changed directly without the need to
go through the builder.

See gh-229
2022-01-10 10:10:49 +00:00
rstoyanchev
22985efe6a Expose ExecutionInput in WebOutput
WebOutput now exposes the ExecutionInput prepared for the request and
no longer provides access to the WebInput which is already available
to a WebInterceptor.

Closes gh-229
2022-01-10 10:10:49 +00:00
rstoyanchev
c84f342daf Extract RequestOutput base class
See gh-229
2022-01-10 10:10:49 +00:00