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 aDurationwhich 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.Durationapply(HttpRequestMetaData request)Determine timeout duration, if present, from a request and/or apply default timeout durations.default HttpExecutionStrategyinfluenceStrategy(HttpExecutionStrategy strategy)Optionally modify the passedHttpExecutionStrategyto a newHttpExecutionStrategythat 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:
applyin 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 passedHttpExecutionStrategyto a newHttpExecutionStrategythat suits thisHttpExecutionStrategyInfluencer.If it is known that apply() cannot block then override to return strategy as provided.
- Specified by:
influenceStrategyin interfaceHttpExecutionStrategyInfluencer- Parameters:
strategy-HttpExecutionStrategyto influence.- Returns:
HttpExecutionStrategythat suits thisHttpExecutionStrategyInfluencer
-
-