spring-framework
5.3.39

# CoRouterFunctionDsl

class CoRouterFunctionDsl
Content copied to clipboard

Provide a WebFlux.fn RouterFunction Coroutines Kotlin DSL created by `coRouter { }` in order to be able to write idiomatic Kotlin code.

#### Author

Sebastien Deleuze

#### Since

5.2

## Functions

accept
Link copied to clipboard
fun accept(vararg mediaType: MediaType): RequestPredicate
Content copied to clipboard

Return a RequestPredicate that tests if the request's accept } header is compatible with any of the given media types.

fun accept(mediaType: MediaType, f: suspend (ServerRequest) -> ServerResponse)
Content copied to clipboard

Route to the given handler function if the given accept predicate applies.

accepted
Link copied to clipboard
fun accepted(): ServerResponse.BodyBuilder
Content copied to clipboard
add
Link copied to clipboard
fun add(routerFunction: RouterFunction<ServerResponse>)
Content copied to clipboard

Merge externally defined router functions into this one.

after
Link copied to clipboard
fun after(responseProcessor: (ServerRequest, ServerResponse) -> ServerResponse)
Content copied to clipboard

Filter the response object for all routes created by this builder with the given response processing function. Filters are typically used to address cross-cutting concerns, such as logging, security, etc.

and
Link copied to clipboard
infix fun String.and(other: RequestPredicate): RequestPredicate
Content copied to clipboard

Return a composed request predicate that tests against both this predicate (String processed as a path predicate) AND the other predicate. When evaluating the composed predicate, if this predicate is `false`, then the other predicate is not evaluated.

infix fun RequestPredicate.and(other: String): RequestPredicate
Content copied to clipboard

Return a composed request predicate that tests against both this predicate AND the other predicate (String processed as a path predicate). When evaluating the composed predicate, if this predicate is `false`, then the other predicate is not evaluated.

infix fun RequestPredicate.and(other: RequestPredicate): RequestPredicate
Content copied to clipboard

Return a composed request predicate that tests against both this predicate AND the other predicate. When evaluating the composed predicate, if this predicate is `false`, then the other predicate is not evaluated.

badRequest
Link copied to clipboard
fun badRequest(): ServerResponse.BodyBuilder
Content copied to clipboard
before
Link copied to clipboard
fun before(requestProcessor: (ServerRequest) -> ServerRequest)
Content copied to clipboard

Filter the request object for all routes created by this builder with the given request processing function. Filters are typically used to address cross-cutting concerns, such as logging, security, etc.

contentType
Link copied to clipboard
fun contentType(vararg mediaTypes: MediaType): RequestPredicate
Content copied to clipboard

Return a RequestPredicate that tests if the request's content type is included by any of the given media types.

fun contentType(mediaType: MediaType, f: suspend (ServerRequest) -> ServerResponse)
Content copied to clipboard

Route to the given handler function if the given contentType predicate applies.

created
Link copied to clipboard
fun created(location: URI): ServerResponse.BodyBuilder
Content copied to clipboard
DELETE
Link copied to clipboard
fun DELETE(pattern: String): RequestPredicate
Content copied to clipboard

Return a RequestPredicate that matches if request's HTTP method is `DELETE` and the given `pattern` matches against the request path.

fun DELETE(pattern: String, f: suspend (ServerRequest) -> ServerResponse)
Content copied to clipboard
fun DELETE(pattern: String, predicate: RequestPredicate, f: suspend (ServerRequest) -> ServerResponse)
Content copied to clipboard

Adds a route to the given handler function that handles all HTTP `DELETE` requests that match the given pattern.

filter
Link copied to clipboard
fun filter(filterFunction: suspend (ServerRequest, suspend (ServerRequest) -> ServerResponse) -> ServerResponse)
Content copied to clipboard

Filters all routes created by this router with the given filter function. Filter functions are typically used to address cross-cutting concerns, such as logging, security, etc.

from
Link copied to clipboard
fun from(other: ServerResponse): ServerResponse.BodyBuilder
Content copied to clipboard
GET
Link copied to clipboard
fun GET(pattern: String): RequestPredicate
Content copied to clipboard

Return a RequestPredicate that matches if request's HTTP method is `GET` and the given `pattern` matches against the request path.

fun GET(pattern: String, f: suspend (ServerRequest) -> ServerResponse)
Content copied to clipboard
fun GET(pattern: String, predicate: RequestPredicate, f: suspend (ServerRequest) -> ServerResponse)
Content copied to clipboard

Adds a route to the given handler function that handles all HTTP `GET` requests that match the given pattern.

HEAD
Link copied to clipboard
fun HEAD(pattern: String): RequestPredicate
Content copied to clipboard

Return a RequestPredicate that matches if request's HTTP method is `HEAD` and the given `pattern` matches against the request path.

fun HEAD(pattern: String, f: suspend (ServerRequest) -> ServerResponse)
Content copied to clipboard
fun HEAD(pattern: String, predicate: RequestPredicate, f: suspend (ServerRequest) -> ServerResponse)
Content copied to clipboard

Adds a route to the given handler function that handles all HTTP `HEAD` requests that match the given pattern.

headers
Link copied to clipboard
fun headers(headersPredicate: (ServerRequest.Headers) -> Boolean): RequestPredicate
Content copied to clipboard

Return a RequestPredicate that tests the request's headers against the given headers predicate.

fun headers(headersPredicate: (ServerRequest.Headers) -> Boolean, f: suspend (ServerRequest) -> ServerResponse)
Content copied to clipboard

Route to the given handler function if the given headers predicate applies.

invoke
Link copied to clipboard
operator fun String.invoke(f: suspend (ServerRequest) -> ServerResponse)
Content copied to clipboard

Route to the given handler function if the given predicate (String processed as a path predicate) applies.

operator fun RequestPredicate.invoke(f: suspend (ServerRequest) -> ServerResponse)
Content copied to clipboard

Route to the given handler function if the given request predicate applies.

method
Link copied to clipboard
fun method(httpMethod: HttpMethod): RequestPredicate
Content copied to clipboard

Return a RequestPredicate that tests against the given HTTP method.

fun method(httpMethod: HttpMethod, f: suspend (ServerRequest) -> ServerResponse)
Content copied to clipboard

Route to the given handler function if the given method predicate applies.

nest
Link copied to clipboard
fun String.nest(r: CoRouterFunctionDsl.() -> Unit)
Content copied to clipboard

Route to the given router function if the given request predicate (String processed as a path predicate) applies. This method can be used to create nested routes, where a group of routes share a common path (prefix), header, or other request predicate.

fun RequestPredicate.nest(r: CoRouterFunctionDsl.() -> Unit)
Content copied to clipboard

Route to the given router function if the given request predicate applies. This method can be used to create nested routes, where a group of routes share a common path (prefix), header, or other request predicate.

noContent
Link copied to clipboard
fun noContent(): ServerResponse.HeadersBuilder<*>
Content copied to clipboard
not
Link copied to clipboard
operator fun RequestPredicate.not(): RequestPredicate
Content copied to clipboard

Return a predicate that represents the logical negation of this predicate.

notFound
Link copied to clipboard
fun notFound(): ServerResponse.HeadersBuilder<*>
Content copied to clipboard
ok
Link copied to clipboard
fun ok(): ServerResponse.BodyBuilder
Content copied to clipboard
onError
Link copied to clipboard
inline fun <E : Throwable> onError(noinline responseProvider: suspend (Throwable, ServerRequest) -> ServerResponse)
Content copied to clipboard
fun onError(predicate: (Throwable) -> Boolean, responseProvider: suspend (Throwable, ServerRequest) -> ServerResponse)
Content copied to clipboard

Filters all exceptions that match the predicate by applying the given response provider function.

OPTIONS
Link copied to clipboard
fun OPTIONS(pattern: String): RequestPredicate
Content copied to clipboard

Return a RequestPredicate that matches if request's HTTP method is `OPTIONS` and the given `pattern` matches against the request path.

fun OPTIONS(pattern: String, f: suspend (ServerRequest) -> ServerResponse)
Content copied to clipboard
fun OPTIONS(pattern: String, predicate: RequestPredicate, f: suspend (ServerRequest) -> ServerResponse)
Content copied to clipboard

Adds a route to the given handler function that handles all HTTP `OPTIONS` requests that match the given pattern.

or
Link copied to clipboard
infix fun String.or(other: RequestPredicate): RequestPredicate
Content copied to clipboard

Return a composed request predicate that tests against both this predicate (String processed as a path predicate) OR the other predicate. When evaluating the composed predicate, if this predicate is `true`, then the other predicate is not evaluated.

infix fun RequestPredicate.or(other: String): RequestPredicate
Content copied to clipboard

Return a composed request predicate that tests against both this predicate OR the other predicate (String processed as a path predicate). When evaluating the composed predicate, if this predicate is `true`, then the other predicate is not evaluated.

infix fun RequestPredicate.or(other: RequestPredicate): RequestPredicate
Content copied to clipboard

Return a composed request predicate that tests against both this predicate OR the other predicate. When evaluating the composed predicate, if this predicate is `true`, then the other predicate is not evaluated.

PATCH
Link copied to clipboard
fun PATCH(pattern: String): RequestPredicate
Content copied to clipboard

Return a RequestPredicate that matches if request's HTTP method is `PATCH` and the given `pattern` matches against the request path.

fun PATCH(pattern: String, f: suspend (ServerRequest) -> ServerResponse)
Content copied to clipboard
fun PATCH(pattern: String, predicate: RequestPredicate, f: suspend (ServerRequest) -> ServerResponse)
Content copied to clipboard

Adds a route to the given handler function that handles all HTTP `PATCH` requests that match the given pattern.

path
Link copied to clipboard
fun path(pattern: String): RequestPredicate
Content copied to clipboard

Return a RequestPredicate that tests the request path against the given path pattern.

fun path(pattern: String, f: suspend (ServerRequest) -> ServerResponse)
Content copied to clipboard

Route to the given handler function if the given path predicate applies.

pathExtension
Link copied to clipboard
fun pathExtension(predicate: (String) -> Boolean): RequestPredicate
Content copied to clipboard

Return a RequestPredicate that matches if the request's path matches the given predicate.

fun pathExtension(extension: String): RequestPredicate
Content copied to clipboard

Return a RequestPredicate that matches if the request's path has the given extension.

fun pathExtension(predicate: (String) -> Boolean, f: suspend (ServerRequest) -> ServerResponse)
Content copied to clipboard
fun pathExtension(extension: String, f: suspend (ServerRequest) -> ServerResponse)
Content copied to clipboard

Route to the given handler function if the given pathExtension predicate applies.

permanentRedirect
Link copied to clipboard
fun permanentRedirect(location: URI): ServerResponse.BodyBuilder
Content copied to clipboard
POST
Link copied to clipboard
fun POST(pattern: String): RequestPredicate
Content copied to clipboard

Return a RequestPredicate that matches if request's HTTP method is `POST` and the given `pattern` matches against the request path.

fun POST(pattern: String, f: suspend (ServerRequest) -> ServerResponse)
Content copied to clipboard
fun POST(pattern: String, predicate: RequestPredicate, f: suspend (ServerRequest) -> ServerResponse)
Content copied to clipboard

Adds a route to the given handler function that handles all HTTP `POST` requests that match the given pattern.

PUT
Link copied to clipboard
fun PUT(pattern: String): RequestPredicate
Content copied to clipboard

Return a RequestPredicate that matches if request's HTTP method is `PUT` and the given `pattern` matches against the request path.

fun PUT(pattern: String, f: suspend (ServerRequest) -> ServerResponse)
Content copied to clipboard
fun PUT(pattern: String, predicate: RequestPredicate, f: suspend (ServerRequest) -> ServerResponse)
Content copied to clipboard

Adds a route to the given handler function that handles all HTTP `PUT` requests that match the given pattern.

queryParam
Link copied to clipboard
fun queryParam(name: String, predicate: (String) -> Boolean): RequestPredicate
Content copied to clipboard

Return a RequestPredicate that tests the request's query parameter of the given name against the given predicate.

fun queryParam(name: String, predicate: (String) -> Boolean, f: suspend (ServerRequest) -> ServerResponse)
Content copied to clipboard

Route to the given handler function if the given queryParam predicate applies.

resources
Link copied to clipboard
fun resources(lookupFunction: suspend (ServerRequest) -> Resource?)
Content copied to clipboard

Route to resources using the provided lookup function. If the lookup function provides a Resource for the given request, it will be it will be exposed using a HandlerFunction that handles GET, HEAD, and OPTIONS requests.

fun resources(path: String, location: Resource)
Content copied to clipboard

Route requests that match the given pattern to resources relative to the given root location.

seeOther
Link copied to clipboard
fun seeOther(location: URI): ServerResponse.BodyBuilder
Content copied to clipboard
status
Link copied to clipboard
fun status(status: Int): ServerResponse.BodyBuilder
Content copied to clipboard
fun status(status: HttpStatus): ServerResponse.BodyBuilder
Content copied to clipboard
temporaryRedirect
Link copied to clipboard
fun temporaryRedirect(location: URI): ServerResponse.BodyBuilder
Content copied to clipboard
unprocessableEntity
Link copied to clipboard
fun unprocessableEntity(): ServerResponse.BodyBuilder
Content copied to clipboard