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();
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionaccessLogFormat
(String accessLogFormat) accessLogWriter
(AccessLogWriter accessLogWriter, boolean shutdownOnStop) addHeader
(CharSequence name, Object value) addHeaders
(Iterable<? extends Map.Entry<? extends CharSequence, ?>> defaultHeaders) blockingTaskExecutor
(int numThreads) blockingTaskExecutor
(BlockingTaskExecutor blockingTaskExecutor, boolean shutdownOnStop) blockingTaskExecutor
(ScheduledExecutorService blockingTaskExecutor, boolean shutdownOnStop) Registers the given service to the VirtualHostBuilder.contextHook
(Supplier<? extends AutoCloseable> contextHook) decorator
(DecoratingHttpServiceFunction decoratingHttpServiceFunction) Decorates anHttpService
with the specifieddecorator
.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) errorHandler
(ServiceErrorHandler serviceErrorHandler) exceptionHandlers
(ExceptionHandlerFunction... exceptionHandlerFunctions) exceptionHandlers
(Iterable<? extends ExceptionHandlerFunction> exceptionHandlerFunctions) maxRequestLength
(long maxRequestLength) multipartRemovalStrategy
(MultipartRemovalStrategy removalStrategy) multipartUploadsLocation
(Path multipartUploadsLocation) pathPrefix
(String pathPrefix) queryDelimiter
(String delimiter) Sets the delimiter for a query parameter value.requestAutoAbortDelay
(Duration delay) requestAutoAbortDelayMillis
(long delayMillis) requestConverters
(RequestConverterFunction... requestConverterFunctions) requestConverters
(Iterable<? extends RequestConverterFunction> requestConverterFunctions) requestIdGenerator
(Function<? super RoutingContext, ? extends RequestId> requestIdGenerator) requestTimeout
(Duration requestTimeout) requestTimeoutMillis
(long requestTimeoutMillis) responseConverters
(ResponseConverterFunction... responseConverterFunctions) responseConverters
(Iterable<? extends ResponseConverterFunction> responseConverterFunctions) serviceWorkerGroup
(int numThreads) serviceWorkerGroup
(EventLoopGroup serviceWorkerGroup, boolean shutdownOnStop) setHeader
(CharSequence name, Object value) setHeaders
(Iterable<? extends Map.Entry<? extends CharSequence, ?>> defaultHeaders) successFunction
(SuccessFunction successFunction) useBlockingTaskExecutor
(boolean useBlockingTaskExecutor) verboseResponses
(boolean verboseResponses)
-
Method Details
-
build
Registers the given service to the VirtualHostBuilder.- Parameters:
service
- annotated service object to handle incoming requests matching path prefix, which can be configured throughAnnotatedServiceConfigSetters.pathPrefix(String)
. If path prefix is not set then this service is registered to handle requests matching/
- Returns:
VirtualHostBuilder
to continue buildingVirtualHost
-
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"
-
decorator
public VirtualHostAnnotatedServiceBindingBuilder decorator(Function<? super HttpService, ? extends HttpService> decorator) -
decorators
public VirtualHostAnnotatedServiceBindingBuilder decorators(Function<? super HttpService, ? extends HttpService>... decorators) -
decorators
public VirtualHostAnnotatedServiceBindingBuilder decorators(Iterable<? extends Function<? super HttpService, ? extends HttpService>> decorators) -
requestTimeout
-
requestTimeoutMillis
-
maxRequestLength
-
verboseResponses
-
accessLogFormat
-
accessLogWriter
public VirtualHostAnnotatedServiceBindingBuilder accessLogWriter(AccessLogWriter accessLogWriter, boolean shutdownOnStop) -
defaultServiceName
-
defaultServiceNaming
public VirtualHostAnnotatedServiceBindingBuilder defaultServiceNaming(ServiceNaming defaultServiceNaming) -
defaultLogName
-
blockingTaskExecutor
public VirtualHostAnnotatedServiceBindingBuilder blockingTaskExecutor(ScheduledExecutorService blockingTaskExecutor, boolean shutdownOnStop) -
blockingTaskExecutor
public VirtualHostAnnotatedServiceBindingBuilder blockingTaskExecutor(BlockingTaskExecutor blockingTaskExecutor, boolean shutdownOnStop) -
blockingTaskExecutor
-
successFunction
-
requestAutoAbortDelay
-
requestAutoAbortDelayMillis
-
multipartUploadsLocation
public VirtualHostAnnotatedServiceBindingBuilder multipartUploadsLocation(Path multipartUploadsLocation) -
multipartRemovalStrategy
@UnstableApi public VirtualHostAnnotatedServiceBindingBuilder multipartRemovalStrategy(MultipartRemovalStrategy removalStrategy) -
serviceWorkerGroup
public VirtualHostAnnotatedServiceBindingBuilder serviceWorkerGroup(EventLoopGroup serviceWorkerGroup, boolean shutdownOnStop) -
serviceWorkerGroup
-
requestIdGenerator
public VirtualHostAnnotatedServiceBindingBuilder requestIdGenerator(Function<? super RoutingContext, ? extends RequestId> requestIdGenerator) -
addHeader
-
addHeaders
public VirtualHostAnnotatedServiceBindingBuilder addHeaders(Iterable<? extends Map.Entry<? extends CharSequence, ?>> defaultHeaders) -
setHeader
-
setHeaders
public VirtualHostAnnotatedServiceBindingBuilder setHeaders(Iterable<? extends Map.Entry<? extends CharSequence, ?>> defaultHeaders) -
errorHandler
public VirtualHostAnnotatedServiceBindingBuilder errorHandler(ServiceErrorHandler serviceErrorHandler) -
contextHook
public VirtualHostAnnotatedServiceBindingBuilder contextHook(Supplier<? extends AutoCloseable> contextHook) -
decorator
default VirtualHostAnnotatedServiceBindingBuilder decorator(DecoratingHttpServiceFunction decoratingHttpServiceFunction) Decorates anHttpService
with the specifieddecorator
.- Parameters:
decoratingHttpServiceFunction
- theDecoratingHttpServiceFunction
that decoratesHttpService
s
-