|
|
|
|
@ -13,12 +13,12 @@ import reactor.core.publisher.Mono
@@ -13,12 +13,12 @@ import reactor.core.publisher.Mono
|
|
|
|
|
* fun route(request: ServerRequest) = route(request) { |
|
|
|
|
* accept(TEXT_HTML).apply { |
|
|
|
|
* (GET("/user/") or GET("/users/")) { findAllView() } |
|
|
|
|
* GET("/user/{login}") { findViewById() } |
|
|
|
|
* GET("/user/{login}", ::findViewById) |
|
|
|
|
* } |
|
|
|
|
* accept(APPLICATION_JSON).apply { |
|
|
|
|
* (GET("/api/user/") or GET("/api/users/")) { findAll() } |
|
|
|
|
* POST("/api/user/") { create() } |
|
|
|
|
* POST("/api/user/{login}") { findOne() } |
|
|
|
|
* POST("/api/user/", ::create) |
|
|
|
|
* POST("/api/user/{login}", ::findOne) |
|
|
|
|
* } |
|
|
|
|
* } |
|
|
|
|
* ``` |
|
|
|
|
@ -35,62 +35,62 @@ class RouterDsl {
@@ -35,62 +35,62 @@ class RouterDsl {
|
|
|
|
|
val children = mutableListOf<RouterDsl>() |
|
|
|
|
val routes = mutableListOf<RouterFunction<ServerResponse>>() |
|
|
|
|
|
|
|
|
|
operator fun RequestPredicate.invoke(f: () -> HandlerFunction<ServerResponse>) { |
|
|
|
|
routes += RouterFunctions.route(this, f()) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
infix fun RequestPredicate.and(other: RequestPredicate): RequestPredicate = this.and(other) |
|
|
|
|
|
|
|
|
|
infix fun RequestPredicate.or(other: RequestPredicate): RequestPredicate = this.or(other) |
|
|
|
|
|
|
|
|
|
operator fun RequestPredicate.not(): RequestPredicate = this.negate() |
|
|
|
|
|
|
|
|
|
fun GET(pattern: String, f: () -> HandlerFunction<ServerResponse>) { |
|
|
|
|
routes += RouterFunctions.route(RequestPredicates.GET(pattern), f()) |
|
|
|
|
operator fun RequestPredicate.invoke(f: (ServerRequest) -> Mono<ServerResponse>) { |
|
|
|
|
routes += RouterFunctions.route(this, HandlerFunction { f(it) }) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
fun GET(pattern: String, f: (ServerRequest) -> Mono<ServerResponse>) { |
|
|
|
|
routes += RouterFunctions.route(RequestPredicates.GET(pattern), HandlerFunction { f(it) } ) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
fun HEAD(pattern: String, f: () -> HandlerFunction<ServerResponse>) { |
|
|
|
|
routes += RouterFunctions.route(RequestPredicates.HEAD(pattern), f()) |
|
|
|
|
fun HEAD(pattern: String, f: (ServerRequest) -> Mono<ServerResponse>) { |
|
|
|
|
routes += RouterFunctions.route(RequestPredicates.HEAD(pattern), HandlerFunction { f(it) }) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
fun POST(pattern: String, f: () -> HandlerFunction<ServerResponse>) { |
|
|
|
|
routes += RouterFunctions.route(RequestPredicates.POST(pattern), f()) |
|
|
|
|
fun POST(pattern: String, f: (ServerRequest) -> Mono<ServerResponse>) { |
|
|
|
|
routes += RouterFunctions.route(RequestPredicates.POST(pattern), HandlerFunction { f(it) }) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
fun PUT(pattern: String, f: () -> HandlerFunction<ServerResponse>) { |
|
|
|
|
routes += RouterFunctions.route(RequestPredicates.PUT(pattern), f()) |
|
|
|
|
fun PUT(pattern: String, f: (ServerRequest) -> Mono<ServerResponse>) { |
|
|
|
|
routes += RouterFunctions.route(RequestPredicates.PUT(pattern), HandlerFunction { f(it) }) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
fun PATCH(pattern: String, f: () -> HandlerFunction<ServerResponse>) { |
|
|
|
|
routes += RouterFunctions.route(RequestPredicates.PATCH(pattern), f()) |
|
|
|
|
fun PATCH(pattern: String, f: (ServerRequest) -> Mono<ServerResponse>) { |
|
|
|
|
routes += RouterFunctions.route(RequestPredicates.PATCH(pattern), HandlerFunction { f(it) }) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
fun DELETE(pattern: String, f: () -> HandlerFunction<ServerResponse>) { |
|
|
|
|
routes += RouterFunctions.route(RequestPredicates.DELETE(pattern), f()) |
|
|
|
|
fun DELETE(pattern: String, f: (ServerRequest) -> Mono<ServerResponse>) { |
|
|
|
|
routes += RouterFunctions.route(RequestPredicates.DELETE(pattern), HandlerFunction { f(it) }) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
fun OPTIONS(pattern: String, f: () -> HandlerFunction<ServerResponse>) { |
|
|
|
|
routes += RouterFunctions.route(RequestPredicates.OPTIONS(pattern), f()) |
|
|
|
|
fun OPTIONS(pattern: String, f: (ServerRequest) -> Mono<ServerResponse>) { |
|
|
|
|
routes += RouterFunctions.route(RequestPredicates.OPTIONS(pattern), HandlerFunction { f(it) }) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
fun accept(vararg mediaType: MediaType, f: () -> HandlerFunction<ServerResponse>) { |
|
|
|
|
routes += RouterFunctions.route(RequestPredicates.accept(*mediaType), f()) |
|
|
|
|
fun accept(mediaType: MediaType, f: (ServerRequest) -> Mono<ServerResponse>) { |
|
|
|
|
routes += RouterFunctions.route(RequestPredicates.accept(mediaType), HandlerFunction { f(it) }) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
fun contentType(vararg mediaType: MediaType, f: () -> HandlerFunction<ServerResponse>) { |
|
|
|
|
routes += RouterFunctions.route(RequestPredicates.contentType(*mediaType), f()) |
|
|
|
|
fun contentType(mediaType: MediaType, f: (ServerRequest) -> Mono<ServerResponse>) { |
|
|
|
|
routes += RouterFunctions.route(RequestPredicates.contentType(mediaType), HandlerFunction { f(it) }) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
fun headers(headerPredicate: (ServerRequest.Headers)->Boolean, f: () -> HandlerFunction<ServerResponse>) { |
|
|
|
|
routes += RouterFunctions.route(RequestPredicates.headers(headerPredicate), f()) |
|
|
|
|
fun headers(headerPredicate: (ServerRequest.Headers)->Boolean, f: (ServerRequest) -> Mono<ServerResponse>) { |
|
|
|
|
routes += RouterFunctions.route(RequestPredicates.headers(headerPredicate), HandlerFunction { f(it) }) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
fun method(httpMethod: HttpMethod, f: () -> HandlerFunction<ServerResponse>) { |
|
|
|
|
routes += RouterFunctions.route(RequestPredicates.method(httpMethod), f()) |
|
|
|
|
fun method(httpMethod: HttpMethod, f: (ServerRequest) -> Mono<ServerResponse>) { |
|
|
|
|
routes += RouterFunctions.route(RequestPredicates.method(httpMethod), HandlerFunction { f(it) }) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
fun path(pattern: String, f: () -> HandlerFunction<ServerResponse>) { |
|
|
|
|
routes += RouterFunctions.route(RequestPredicates.path(pattern), f()) |
|
|
|
|
fun path(pattern: String, f: (ServerRequest) -> Mono<ServerResponse>) { |
|
|
|
|
routes += RouterFunctions.route(RequestPredicates.path(pattern), HandlerFunction { f(it) }) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
fun resources(path: String, location: Resource) { |
|
|
|
|
|