Package io.servicetalk.http.utils
Interface TimeoutFromRequest
- All Superinterfaces:
ExecutionStrategyInfluencer<HttpExecutionStrategy>
,Function<HttpRequestMetaData,
,Duration> HttpExecutionStrategyInfluencer
@Deprecated
public interface TimeoutFromRequest
extends Function<HttpRequestMetaData,Duration>, HttpExecutionStrategyInfluencer, ExecutionStrategyInfluencer<HttpExecutionStrategy>
Deprecated.
A function to determine the appropriate timeout to be used for a given
HTTP request
.
The result is a Duration
which may be null if no timeout is to be applied. If the function blocks then
requiredOffloads()
should specify the execution strategy as required.-
Method Summary
Modifier and TypeMethodDescriptionapply
(HttpRequestMetaData request) Deprecated.Determine timeout duration, if present, from a request and/or apply default timeout durations.default HttpExecutionStrategy
influenceStrategy
(HttpExecutionStrategy strategy) Deprecated.Optionally modify the passedHttpExecutionStrategy
to a newHttpExecutionStrategy
that suits thisHttpExecutionStrategyInfluencer
.default HttpExecutionStrategy
Deprecated.Return anExecutionStrategy
that describes the offloads required by the influencer.static TimeoutFromRequest
toTimeoutFromRequest
(Function<HttpRequestMetaData, Duration> function, HttpExecutionStrategy requiredStrategy) Deprecated.In areas which requireTimeoutFromRequest
use variants that acceptBiFunction
<HttpRequestMetaData
,TimeSource
,Duration
>.
-
Method Details
-
apply
Deprecated.Determine timeout duration, if present, from a request and/or apply default timeout durations.- Specified by:
apply
in interfaceFunction<HttpRequestMetaData,
Duration> - Parameters:
request
- the current request- Returns:
- The timeout or null for no timeout
-
influenceStrategy
Deprecated.Optionally modify the passedHttpExecutionStrategy
to a newHttpExecutionStrategy
that suits thisHttpExecutionStrategyInfluencer
.Implementations should not return
HttpExecutionStrategies.defaultStrategy()
unless it was also provided as input.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
-
requiredOffloads
Deprecated.Description copied from interface:HttpExecutionStrategyInfluencer
Return anExecutionStrategy
that describes the offloads required by the influencer.The provided default implementation requests offloading of all operations. Implementations that require no offloading should be careful to return
HttpExecutionStrategies.offloadNone()
rather thanHttpExecutionStrategies.offloadNever()
. Implementations should avoid returningHttpExecutionStrategies.defaultStrategy()
, instead returning the strategy they require orHttpExecutionStrategies.offloadAll()
if offloading for all paths is required (safe default).- Specified by:
requiredOffloads
in interfaceExecutionStrategyInfluencer<HttpExecutionStrategy>
- Specified by:
requiredOffloads
in interfaceHttpExecutionStrategyInfluencer
- Returns:
- the
ExecutionStrategy
required by the influencer.
-
toTimeoutFromRequest
@Deprecated static TimeoutFromRequest toTimeoutFromRequest(Function<HttpRequestMetaData, Duration> function, HttpExecutionStrategy requiredStrategy) Deprecated.In areas which requireTimeoutFromRequest
use variants that acceptBiFunction
<HttpRequestMetaData
,TimeSource
,Duration
>. E.g.:TimeoutHttpRequesterFilter(BiFunction, boolean)
,TimeoutHttpServiceFilter(BiFunction, boolean)
for filters. Note that passedBiFunction
should never block.Create aTimeoutFromRequest
instance.- Parameters:
function
- a function for converting request headers to a durationrequiredStrategy
- execution strategy required by the function.- Returns:
TimeoutFromRequest
instance which applies the provided function and requires the specified strategy.
-
TimeoutFromRequest
use variants that acceptBiFunction
<HttpRequestMetaData
,TimeSource
,Duration
>. E.g.:TimeoutHttpRequesterFilter(BiFunction, boolean)
,TimeoutHttpServiceFilter(BiFunction, boolean)
for filters.