Commit Graph

10 Commits

Author SHA1 Message Date
Rossen Stoyanchev
b378231d39 Add GraphQLRequestHandler
See gh-42
2021-04-08 20:37:01 +01:00
Rossen Stoyanchev
9ceaaf5684 Polishing contribution
Closes gh-37
2021-04-07 14:23:35 +01:00
Andreas Marek
b6f79f212d Only build GraphQL once
See gh-37
2021-04-07 14:23:35 +01:00
Rossen Stoyanchev
ba0c426c32 GraphQL endpoints logged on startup
Closes gh-24
2021-02-17 07:40:37 +00:00
Rossen Stoyanchev
4e735f1ca8 Allow HTTP GET and WebSocket to use the same path
Closes gh-30
2021-02-05 21:07:27 +00:00
Brian Clozel
36121f338f Enable WebSocket endpoint with config property
Prior to this commit, the WebSocket endpoint (MVC or WebFlux) would be
enabled by default. In the case of MVC, the presence of
`spring-websocket` and the required dependencies was an additional hint
that could enable/disable this support depending on the application.

This commit changes the websocket path configuration so that it doesn't
hold a default value anymore. Configuring this property will trigger the
WebSocket support.

Right now developers cannot configure it to be the same as the
`spring.graphql.path`, but this will be solved in #30.

This commit also revisits the configuration properties namespace for
clarity, moving the websocket bits under their own section.

Closes gh-31
2021-02-02 15:27:00 +01:00
Brian Clozel
5696b8cead Configure WebInterceptors in handlers
This commit gathers `WebInterceptor` beans from the context (in an
ordered fashion) and configures them on the relevant GraphQL handlers.

Closes gh-7
2021-02-02 13:53:53 +01:00
Brian Clozel
2990df6c43 Guard MVC auto-configuration with WebSocket classes
This commit ensures that the WebSocket auto-configuration is guarded
with class conditions on WebSocket classes (from the javax API and the
spring-websocket artifact).

This prevents issues where application without such dependencies are
failing at startup.
2021-02-02 10:03:43 +01:00
Rossen Stoyanchev
2f52e35050 Support for subscriptions with WebMvc and spring-websocket 2021-02-01 22:38:52 +00:00
Brian Clozel
633ee1a1b5 Refactor project structure
This commit refactors the project structure to regroup GraphQL web
support under the spring-graphql-web module, and move all the Spring
Boot support classes under a single graphql-spring-boot-starter one.

Right now, the starter module contains everything: classes for MVC,
WebFlux and Actuator support as well as required dependencies. We will
change that in the future.
2021-01-05 16:35:34 +01:00