Package io.servicetalk.http.api
Interface BlockingHttpService
- All Superinterfaces:
AutoCloseable,ExecutionStrategyInfluencer<HttpExecutionStrategy>,GracefulAutoCloseable,HttpExecutionStrategyInfluencer,HttpServiceBase
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface
public interface BlockingHttpService
extends HttpServiceBase, GracefulAutoCloseable
The equivalent of
HttpService but with synchronous/blocking APIs instead of asynchronous APIs.-
Method Summary
Modifier and TypeMethodDescriptiondefault voidclose()handle(HttpServiceContext ctx, HttpRequest request, HttpResponseFactory responseFactory) Handles a single HTTP request.default HttpExecutionStrategyReturn anExecutionStrategythat describes the offloads required by the influencer.Methods inherited from interface io.servicetalk.concurrent.GracefulAutoCloseable
closeGracefullyMethods inherited from interface io.servicetalk.http.api.HttpExecutionStrategyInfluencer
influenceStrategy
-
Method Details
-
handle
HttpResponse handle(HttpServiceContext ctx, HttpRequest request, HttpResponseFactory responseFactory) throws Exception Handles a single HTTP request.- Parameters:
ctx- Context of the service.request- to handle.responseFactory- used to createHttpResponseobjects.- Returns:
Singleof HTTP response.- Throws:
Exception- If an exception occurs during request processing.
-
requiredOffloads
Description copied from interface:HttpExecutionStrategyInfluencerReturn anExecutionStrategythat 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:
requiredOffloadsin interfaceExecutionStrategyInfluencer<HttpExecutionStrategy>- Specified by:
requiredOffloadsin interfaceHttpExecutionStrategyInfluencer- Returns:
- the
ExecutionStrategyrequired by the influencer.
-
close
- Specified by:
closein interfaceAutoCloseable- Throws:
Exception
-