Class ContextPropagationHelper
java.lang.Object
org.springframework.graphql.execution.ContextPropagationHelper
- Direct Known Subclasses:
ContextSnapshotFactoryHelper
Helper for propagating context values from and to Reactor and GraphQL contexts.
- Since:
- 1.3.5
- Author:
- Rossen Stoyanchev, Brian Clozel
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic <T> reactor.core.publisher.Flux<T>
bindCancelFrom
(reactor.core.publisher.Flux<T> source, GraphQLContext context) Bind the sourceFlux
to the publisher from the givenGraphQLContext
.static <T> reactor.core.publisher.Mono<T>
bindCancelFrom
(reactor.core.publisher.Mono<T> source, GraphQLContext context) Bind the sourceMono
to the publisher from the givenGraphQLContext
.static io.micrometer.context.ContextSnapshot
captureFrom
(GraphQLContext context) Shortcut to obtain theContextSnapshotFactory
instance, and to capture from the givenGraphQLContext
.static io.micrometer.context.ContextSnapshot
captureFrom
(reactor.util.context.ContextView contextView) Shortcut to obtain theContextSnapshotFactory
instance, and to capture from the givenContextView
.static reactor.core.publisher.Sinks.Empty<Void>
createCancelPublisher
(GraphQLContext context) Create a publisher and store it into the givenGraphQLContext
.static io.micrometer.context.ContextSnapshotFactory
getInstance
(GraphQLContext context) Access theContextSnapshotFactory
from the givenGraphQLContext
or return a shared, static instance.static io.micrometer.context.ContextSnapshotFactory
getInstance
(reactor.util.context.ContextView contextView) Access theContextSnapshotFactory
from the givenContextView
or return a shared, static instance.static void
saveInstance
(io.micrometer.context.ContextSnapshotFactory factory, GraphQLContext context) Save theContextSnapshotFactory
in the givenContext
.static reactor.util.context.Context
saveInstance
(io.micrometer.context.ContextSnapshotFactory factory, reactor.util.context.Context context) Save theContextSnapshotFactory
in the givenContext
.static io.micrometer.context.ContextSnapshotFactory
selectInstance
(io.micrometer.context.ContextSnapshotFactory factory) Select aContextSnapshotFactory
instance to use, either the one passed in if it is notnull
, or a shared, static instance.
-
Constructor Details
-
ContextPropagationHelper
public ContextPropagationHelper()
-
-
Method Details
-
selectInstance
public static io.micrometer.context.ContextSnapshotFactory selectInstance(@Nullable io.micrometer.context.ContextSnapshotFactory factory) Select aContextSnapshotFactory
instance to use, either the one passed in if it is notnull
, or a shared, static instance.- Parameters:
factory
- the candidate factory instance to use if notnull
- Returns:
- the instance to use
-
saveInstance
public static reactor.util.context.Context saveInstance(io.micrometer.context.ContextSnapshotFactory factory, reactor.util.context.Context context) Save theContextSnapshotFactory
in the givenContext
.- Parameters:
factory
- the instance to savecontext
- the context to save the instance to- Returns:
- a new context with the saved instance
-
saveInstance
public static void saveInstance(io.micrometer.context.ContextSnapshotFactory factory, GraphQLContext context) Save theContextSnapshotFactory
in the givenContext
.- Parameters:
factory
- the instance to savecontext
- the context to save the instance to
-
getInstance
public static io.micrometer.context.ContextSnapshotFactory getInstance(reactor.util.context.ContextView contextView) Access theContextSnapshotFactory
from the givenContextView
or return a shared, static instance.- Parameters:
contextView
- the context where the instance is saved- Returns:
- the instance to use
-
getInstance
Access theContextSnapshotFactory
from the givenGraphQLContext
or return a shared, static instance.- Parameters:
context
- the context where the instance is saved- Returns:
- the instance to use
-
captureFrom
public static io.micrometer.context.ContextSnapshot captureFrom(reactor.util.context.ContextView contextView) Shortcut to obtain theContextSnapshotFactory
instance, and to capture from the givenContextView
.- Parameters:
contextView
- the context to capture from- Returns:
- a snapshot from the capture
-
captureFrom
Shortcut to obtain theContextSnapshotFactory
instance, and to capture from the givenGraphQLContext
.- Parameters:
context
- the context to capture from- Returns:
- a snapshot from the capture
-
createCancelPublisher
public static reactor.core.publisher.Sinks.Empty<Void> createCancelPublisher(GraphQLContext context) Create a publisher and store it into the givenGraphQLContext
. This publisher can then be used to propagate cancel signals to upstream publishers.- Parameters:
context
- the current GraphQL context- Since:
- 1.3.5
-
bindCancelFrom
public static <T> reactor.core.publisher.Mono<T> bindCancelFrom(reactor.core.publisher.Mono<T> source, GraphQLContext context) Bind the sourceMono
to the publisher from the givenGraphQLContext
. The returnedMono
will be cancelled when this publisher completes. Subscribers must use the returnedMono
instance.- Type Parameters:
T
- the type of published elements- Parameters:
source
- the sourceMono
context
- the current GraphQL context- Returns:
- the new
Mono
that will be cancelled when notified - Since:
- 1.3.5
-
bindCancelFrom
public static <T> reactor.core.publisher.Flux<T> bindCancelFrom(reactor.core.publisher.Flux<T> source, GraphQLContext context) Bind the sourceFlux
to the publisher from the givenGraphQLContext
. The returnedFlux
will be cancelled when this publisher completes. Subscribers must use the returnedMono
instance.- Type Parameters:
T
- the type of published elements- Parameters:
source
- the sourceMono
context
- the current GraphQL context- Returns:
- the new
Mono
that will be cancelled when notified - Since:
- 1.3.5
-