Package com.linecorp.armeria.server
Class VirtualHostAnnotatedServiceBindingBuilder
java.lang.Object
com.linecorp.armeria.server.VirtualHostAnnotatedServiceBindingBuilder
A builder class for binding an
HttpService
to a virtual host fluently. This class can be instantiated
through VirtualHostBuilder.annotatedService()
.
Call build(Object)
to build the HttpService
and return to the VirtualHostBuilder
.
ServerBuilder sb = Server.builder();
sb.virtualHost("foo.com") // Return a new instance of {@link VirtualHostBuilder}
.annotatedService() // Return a new instance of this class
.requestTimeoutMillis(5000)
.maxRequestLength(8192)
.exceptionHandler((ctx, request, cause) -> HttpResponse.of(400))
.pathPrefix("/foo")
.verboseResponses(true)
.build(new FooService()) // Return to {@link VirtualHostBuilder}
.and() // Return to {@link ServerBuilder}
.annotatedService(new MyDefaultHostService())
.build();
-
Method Summary
Modifier and TypeMethodDescriptionaccessLogFormat
(String accessLogFormat) accessLogWriter
(AccessLogWriter accessLogWriter, boolean shutdownOnStop) blockingTaskExecutor
(int numThreads) blockingTaskExecutor
(ScheduledExecutorService blockingTaskExecutor, boolean shutdownOnStop) Registers the given service to the VirtualHostBuilder.decorator
(Function<? super HttpService, ? extends HttpService> decorator) decorators
(Iterable<? extends Function<? super HttpService, ? extends HttpService>> decorators) decorators
(Function<? super HttpService, ? extends HttpService>... decorators) defaultLogName
(String defaultLogName) defaultServiceName
(String defaultServiceName) defaultServiceNaming
(ServiceNaming defaultServiceNaming) exceptionHandlers
(ExceptionHandlerFunction... exceptionHandlerFunctions) exceptionHandlers
(Iterable<? extends ExceptionHandlerFunction> exceptionHandlerFunctions) maxRequestLength
(long maxRequestLength) multipartUploadsLocation
(Path multipartUploadsLocation) pathPrefix
(String pathPrefix) queryDelimiter
(String delimiter) Sets the delimiter for a query parameter value.requestConverters
(RequestConverterFunction... requestConverterFunctions) requestConverters
(Iterable<? extends RequestConverterFunction> requestConverterFunctions) requestTimeout
(Duration requestTimeout) requestTimeoutMillis
(long requestTimeoutMillis) responseConverters
(ResponseConverterFunction... responseConverterFunctions) responseConverters
(Iterable<? extends ResponseConverterFunction> responseConverterFunctions) successFunction
(SuccessFunction successFunction) useBlockingTaskExecutor
(boolean useBlockingTaskExecutor) verboseResponses
(boolean verboseResponses)
-
Method Details
-
pathPrefix
-
exceptionHandlers
public VirtualHostAnnotatedServiceBindingBuilder exceptionHandlers(ExceptionHandlerFunction... exceptionHandlerFunctions) -
exceptionHandlers
public VirtualHostAnnotatedServiceBindingBuilder exceptionHandlers(Iterable<? extends ExceptionHandlerFunction> exceptionHandlerFunctions) -
responseConverters
public VirtualHostAnnotatedServiceBindingBuilder responseConverters(ResponseConverterFunction... responseConverterFunctions) -
responseConverters
public VirtualHostAnnotatedServiceBindingBuilder responseConverters(Iterable<? extends ResponseConverterFunction> responseConverterFunctions) -
requestConverters
public VirtualHostAnnotatedServiceBindingBuilder requestConverters(RequestConverterFunction... requestConverterFunctions) -
requestConverters
public VirtualHostAnnotatedServiceBindingBuilder requestConverters(Iterable<? extends RequestConverterFunction> requestConverterFunctions) -
useBlockingTaskExecutor
public VirtualHostAnnotatedServiceBindingBuilder useBlockingTaskExecutor(boolean useBlockingTaskExecutor) -
queryDelimiter
Sets the delimiter for a query parameter value. Multiple values delimited by the specifieddelimiter
will be automatically split into a list of values.It is disabled by default.
Note that this delimiter works only when the resolve target class type is collection and the number of values of the query parameter is one. For example with the query delimiter
","
:?query=a,b,c
will be resolved to"a"
,"b"
and"c"
?query=a,b,c&query=d,e,f
will be resolved to"a,b,c"
and"d,e,f"
-
requestTimeout
-
requestTimeoutMillis
-
maxRequestLength
-
verboseResponses
-
accessLogFormat
-
accessLogWriter
public VirtualHostAnnotatedServiceBindingBuilder accessLogWriter(AccessLogWriter accessLogWriter, boolean shutdownOnStop) -
decorator
public VirtualHostAnnotatedServiceBindingBuilder decorator(Function<? super HttpService, ? extends HttpService> decorator) -
decorators
@SafeVarargs public final VirtualHostAnnotatedServiceBindingBuilder decorators(Function<? super HttpService, ? extends HttpService>... decorators) -
decorators
public VirtualHostAnnotatedServiceBindingBuilder decorators(Iterable<? extends Function<? super HttpService, ? extends HttpService>> decorators) -
defaultServiceName
-
defaultServiceNaming
public VirtualHostAnnotatedServiceBindingBuilder defaultServiceNaming(ServiceNaming defaultServiceNaming) -
defaultLogName
-
blockingTaskExecutor
public VirtualHostAnnotatedServiceBindingBuilder blockingTaskExecutor(ScheduledExecutorService blockingTaskExecutor, boolean shutdownOnStop) -
blockingTaskExecutor
-
successFunction
-
multipartUploadsLocation
public VirtualHostAnnotatedServiceBindingBuilder multipartUploadsLocation(Path multipartUploadsLocation) -
build
Registers the given service to the VirtualHostBuilder.- Parameters:
service
- annotated service object to handle incoming requests matching path prefix, which can be configured throughAnnotatedServiceBindingBuilder.pathPrefix(String)
. If path prefix is not set then this service is registered to handle requests matching/
- Returns:
VirtualHostBuilder
to continue buildingVirtualHost
-