Fix pathExtension null-safety in Kotlin DSLs
Closes gh-32254
This commit is contained in:
@@ -564,7 +564,7 @@ class RouterFunctionDsl internal constructor (private val init: (RouterFunctionD
|
||||
* Route to the given handler function if the given pathExtension predicate applies.
|
||||
* @see RouterFunctions.route
|
||||
*/
|
||||
fun pathExtension(predicate: (String) -> Boolean, f: (ServerRequest) -> ServerResponse) {
|
||||
fun pathExtension(predicate: (String?) -> Boolean, f: (ServerRequest) -> ServerResponse) {
|
||||
builder.add(RouterFunctions.route(RequestPredicates.pathExtension(predicate), HandlerFunction(f)))
|
||||
}
|
||||
|
||||
@@ -573,7 +573,7 @@ class RouterFunctionDsl internal constructor (private val init: (RouterFunctionD
|
||||
* predicate.
|
||||
* @see RequestPredicates.pathExtension
|
||||
*/
|
||||
fun pathExtension(predicate: (String) -> Boolean): RequestPredicate =
|
||||
fun pathExtension(predicate: (String?) -> Boolean): RequestPredicate =
|
||||
RequestPredicates.pathExtension(predicate)
|
||||
|
||||
/**
|
||||
|
||||
@@ -88,6 +88,13 @@ class RouterFunctionDslTests {
|
||||
assertThat(sampleRouter().route(request).isPresent).isTrue()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun pathExtension() {
|
||||
val servletRequest = PathPatternsTestUtils.initRequest("GET", "/test.properties", true)
|
||||
val request = DefaultServerRequest(servletRequest, emptyList())
|
||||
assertThat(sampleRouter().route(request).isPresent).isTrue()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun resource() {
|
||||
val servletRequest = PathPatternsTestUtils.initRequest("GET","/response2.txt", true)
|
||||
@@ -185,6 +192,9 @@ class RouterFunctionDslTests {
|
||||
null
|
||||
}
|
||||
}
|
||||
GET(pathExtension { it == "properties" }) {
|
||||
ok().body("foo=bar")
|
||||
}
|
||||
path("/baz", ::handle)
|
||||
GET("/rendering") { RenderingResponse.create("index").build() }
|
||||
add(otherRouter)
|
||||
|
||||
Reference in New Issue
Block a user