Package io.servicetalk.http.utils
Interface TimeoutFromRequest
-
- All Superinterfaces:
java.util.function.Function<HttpRequestMetaData,java.time.Duration>
,HttpExecutionStrategyInfluencer
public interface TimeoutFromRequest extends java.util.function.Function<HttpRequestMetaData,java.time.Duration>, HttpExecutionStrategyInfluencer
A function to determine the appropriate timeout to be used for a givenHTTP request
. The result is aDuration
which may be null if no timeout is to be applied. If the function blocks theninfluenceStrategy(HttpExecutionStrategy)
should alter the execution strategy as required.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description java.time.Duration
apply(HttpRequestMetaData request)
Determine timeout duration, if present, from a request and/or apply default timeout durations.default HttpExecutionStrategy
influenceStrategy(HttpExecutionStrategy strategy)
Optionally modify the passedHttpExecutionStrategy
to a newHttpExecutionStrategy
that suits thisHttpExecutionStrategyInfluencer
.
-
-
-
Method Detail
-
apply
@Nullable java.time.Duration apply(HttpRequestMetaData request)
Determine timeout duration, if present, from a request and/or apply default timeout durations.- Specified by:
apply
in interfacejava.util.function.Function<HttpRequestMetaData,java.time.Duration>
- Parameters:
request
- the current request- Returns:
- The timeout or null for no timeout
-
influenceStrategy
default HttpExecutionStrategy influenceStrategy(HttpExecutionStrategy strategy)
Optionally modify the passedHttpExecutionStrategy
to a newHttpExecutionStrategy
that suits thisHttpExecutionStrategyInfluencer
.If it is known that apply() cannot block then override to return strategy as provided.
- Specified by:
influenceStrategy
in interfaceHttpExecutionStrategyInfluencer
- Parameters:
strategy
-HttpExecutionStrategy
to influence.- Returns:
HttpExecutionStrategy
that suits thisHttpExecutionStrategyInfluencer
-
-