mirror of
https://github.com/tursom/TursomServer.git
synced 2025-03-13 19:30:10 +08:00
AsyncRoutedHttpHandler 添加对协程的支持
This commit is contained in:
parent
597b94f12d
commit
e35ee79a0e
@ -1,6 +1,7 @@
|
|||||||
package cn.tursom.web.router
|
package cn.tursom.web.router
|
||||||
|
|
||||||
import cn.tursom.core.buffer.ByteBuffer
|
import cn.tursom.core.buffer.ByteBuffer
|
||||||
|
import cn.tursom.core.regex.regex
|
||||||
import cn.tursom.json.JsonWorkerImpl
|
import cn.tursom.json.JsonWorkerImpl
|
||||||
import cn.tursom.web.ExceptionContent
|
import cn.tursom.web.ExceptionContent
|
||||||
import cn.tursom.web.HttpContent
|
import cn.tursom.web.HttpContent
|
||||||
@ -250,10 +251,12 @@ open class RoutedHttpHandler(
|
|||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val slashRegex = regex { (-"/").onceMore }
|
||||||
|
|
||||||
fun safeRoute(route: String) = (
|
fun safeRoute(route: String) = (
|
||||||
if (route.startsWith('/')) route else "/$route").let {
|
if (route.startsWith('/')) route else "/$route").let {
|
||||||
if (it.endsWith('/')) it.dropLast(1) else it
|
if (it.endsWith('/')) it.dropLast(1) else it
|
||||||
}.repeatUntil({ it.contains("//") }) { it.replace("//", "/") }
|
}.repeatUntil({ it.contains("//") }) { it.replace(slashRegex, "/") }
|
||||||
|
|
||||||
fun autoReturn(result: Any, content: HttpContent) {
|
fun autoReturn(result: Any, content: HttpContent) {
|
||||||
log?.debug("{}: autoReturn: {}", content.clientIp, result)
|
log?.debug("{}: autoReturn: {}", content.clientIp, result)
|
||||||
|
Loading…
Reference in New Issue
Block a user