Package com.linecorp.armeria.server
Class AnnotatedServiceBindingBuilder
java.lang.Object
com.linecorp.armeria.server.AnnotatedServiceBindingBuilder
A builder class for binding an
HttpService
fluently. This class can be instantiated through
ServerBuilder.annotatedService()
.
Call build(Object)
to build the HttpService
and return to the ServerBuilder
.
ServerBuilder sb = Server.builder();
sb.annotatedService() // Returns an instance of this class
.requestTimeoutMillis(5000)
.maxRequestLength(8192)
.exceptionHandler((ctx, request, cause) -> HttpResponse.of(400))
.pathPrefix("/foo")
.verboseResponses(true)
.build(new Service()) // Return to the ServerBuilder.
.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) decorator
(DecoratingHttpServiceFunction decoratingHttpServiceFunction) 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) 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) setHeader
(CharSequence name, Object value) setHeaders
(Iterable<? extends Map.Entry<? extends CharSequence, ?>> defaultHeaders) successFunction
(SuccessFunction successFunction) useBlockingTaskExecutor
(boolean useBlockingTaskExecutor) verboseResponses
(boolean verboseResponses)
-
Method Details
-
pathPrefix
-
exceptionHandlers
public AnnotatedServiceBindingBuilder exceptionHandlers(ExceptionHandlerFunction... exceptionHandlerFunctions) -
exceptionHandlers
public AnnotatedServiceBindingBuilder exceptionHandlers(Iterable<? extends ExceptionHandlerFunction> exceptionHandlerFunctions) -
responseConverters
public AnnotatedServiceBindingBuilder responseConverters(ResponseConverterFunction... responseConverterFunctions) -
responseConverters
public AnnotatedServiceBindingBuilder responseConverters(Iterable<? extends ResponseConverterFunction> responseConverterFunctions) -
requestConverters
public AnnotatedServiceBindingBuilder requestConverters(RequestConverterFunction... requestConverterFunctions) -
requestConverters
public AnnotatedServiceBindingBuilder requestConverters(Iterable<? extends RequestConverterFunction> requestConverterFunctions) -
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 AnnotatedServiceBindingBuilder decorator(DecoratingHttpServiceFunction decoratingHttpServiceFunction) -
decorator
public AnnotatedServiceBindingBuilder decorator(Function<? super HttpService, ? extends HttpService> decorator) -
decorators
@SafeVarargs public final AnnotatedServiceBindingBuilder decorators(Function<? super HttpService, ? extends HttpService>... decorators) -
decorators
public AnnotatedServiceBindingBuilder decorators(Iterable<? extends Function<? super HttpService, ? extends HttpService>> decorators) -
requestTimeout
-
requestTimeoutMillis
-
maxRequestLength
-
verboseResponses
-
accessLogFormat
-
accessLogWriter
public AnnotatedServiceBindingBuilder accessLogWriter(AccessLogWriter accessLogWriter, boolean shutdownOnStop) -
defaultServiceName
-
defaultServiceNaming
-
defaultLogName
-
blockingTaskExecutor
public AnnotatedServiceBindingBuilder blockingTaskExecutor(ScheduledExecutorService blockingTaskExecutor, boolean shutdownOnStop) -
blockingTaskExecutor
public AnnotatedServiceBindingBuilder blockingTaskExecutor(BlockingTaskExecutor blockingTaskExecutor, boolean shutdownOnStop) -
blockingTaskExecutor
-
successFunction
-
requestAutoAbortDelay
-
requestAutoAbortDelayMillis
-
multipartUploadsLocation
-
requestIdGenerator
public AnnotatedServiceBindingBuilder requestIdGenerator(Function<? super RoutingContext, ? extends RequestId> requestIdGenerator) -
addHeader
-
addHeaders
public AnnotatedServiceBindingBuilder addHeaders(Iterable<? extends Map.Entry<? extends CharSequence, ?>> defaultHeaders) -
setHeader
-
setHeaders
public AnnotatedServiceBindingBuilder setHeaders(Iterable<? extends Map.Entry<? extends CharSequence, ?>> defaultHeaders) -
errorHandler
-
build
- Parameters:
service
- annotated service object to handle incoming requests matching path prefix, which can be configured throughpathPrefix(String)
. If path prefix is not set then this service is registered to handle requests matching/
- Returns:
ServerBuilder
to continue buildingServer
-