This adds a starter module that includes the Spring gRPC server
starter and the required dependencies ((`spring-boot-starter-web`
and `jakarta-grpc-servlet`) to use the servlet container as a
gRPC server.
Signed-off-by: Chris Bono <chris.bono@gmail.com>
This adds a starter module that includes the Spring gRPC
core module and the grpc-stub dependency.
Also, makes the `grpc-stub` dependency optional in Spring
gRPC core module.
Signed-off-by: Chris Bono <chris.bono@gmail.com>
Currently the spring-grpc-core imposes an opinion on Netty.
The core module should not have an opinion, but rather the
starter enforces the opinion.
Also, makes spring-grpc-core optional in the autconfigure
module as the autoconfigure will eventually be moved into
Spring Boot and at that time everything is optional.
Signed-off-by: Chris Bono <chris.bono@gmail.com>
This renames the `spring.grpc.security.csrf.enabled` property
to `spring.grpc.server.security.csrf.enabled` to signal that
it is a server configuration property.
Signed-off-by: Chris Bono <chris.bono@gmail.com>
This removes the `@ConditionalOnProperty` guard that was in place to force a
native gRPC server to be used when the running application is a Reactive
based web application. This is not needed because a Reactive based web
application can not be used as Servlet gRPC server.
Signed-off-by: Chris Bono <chris.bono@gmail.com>
This adds the following entries to additional-spring-configuration-metadata.json:
- `spring.grpc.security.csrf.enabled`
- `spring.grpc.server.servlet.enabled`
They are not present in first class `@ConfigurationProperties` so need to be
manually added.
Signed-off-by: Chris Bono <chris.bono@gmail.com>
Updates the fix-getting-started.adoc section of the reference
guide to remove the requirement of the "web" and "graalvm"
dependencies as the former requires other information besides
dependencies to work properly and the latter is just complication
that is not needed for a simple quick start.
See #97
This commit moves the channel config ("NamedChannel") back to
autoconfigure module as the effort to move to core turns out to
be more trouble than it is worth at this time.
Fixes#92
This commit provides graceful shutdown of all channels
created by the channel factory.
Resolves#12
Co-authored-by: Andrey Litvitski <andrey1010102008@gmail.com>
The exception handler interceptor has to be called first so that
it can handle exceptions thrown by other interceptors. Tests up
to now didn't assert that (they focused on exceptions thrown
in services).