Analyzer::Java::Armeria::ArmeriaChainGuards
Which registrations of one Server.builder() chain an AuthService
decorator covers, read from the chain's own top-level calls:
.decorator(AuthService...)on the server covers every route of this chain;.decorator("/p", ...)the route its path pattern names (exact, orprefix:/glob:/*forms), and.decoratorUnder("/p", ...)the routes under/p.- a decorator inside
.route()...build(svc),.annotatedService() ...build(svc)or.virtualHost(...)...and()covers that block only, and one passed in a registration's arguments (.service("/x", svc.decorate(AuthService.newDecorator(a)))) that registration only.
The chain ends at the server's own .build(), so a second
Server.builder() in the same statement or file is not covered.
Decorators are looked for in code_only (comments and string
literals blanked), so neither a commented-out decorator nor a string
that spells one counts; path patterns are read from code.
ponytail: a decorator held in a variable (.decorator(authDecorator))
is not resolved; neither are separate sb.decorator(...) statements
nor regex: path patterns.
Constants
Constructors
Class methods
The top-level .name(args) calls of a fluent chain, from from
until the first text that does not continue it. A Kotlin trailing
lambda belongs to the call before it; Java's explicit type
arguments (.<T>service() are skipped. Works on chars so a
caller with many chains in one file splits it into chars once.