自动路由处理器添加异常处理功能

This commit is contained in:
tursom 2020-03-09 18:10:00 +08:00
parent 28233132c3
commit e4ed7896dc

View File

@ -311,6 +311,7 @@ open class RoutedHttpHandler(
if (doLog) log?.debug("{}: autoReturn: {}", content.clientIp, result) if (doLog) log?.debug("{}: autoReturn: {}", content.clientIp, result)
result ?: return result ?: return
when (result) { when (result) {
null -> content.finish(404)
is ByteBuffer -> content.finishText(result) is ByteBuffer -> content.finishText(result)
is String -> content.finishText(result.toByteArray()) is String -> content.finishText(result.toByteArray())
is StringBuilder -> content.finishText(result.toString().toByteArray()) is StringBuilder -> content.finishText(result.toString().toByteArray())
@ -332,6 +333,7 @@ open class RoutedHttpHandler(
if (doLog) log?.debug("{} finishHtml {}", content.clientIp, result) if (doLog) log?.debug("{} finishHtml {}", content.clientIp, result)
result ?: return result ?: return
when (result) { when (result) {
null -> content.finish(404)
is ByteBuffer -> content.finishHtml(result) is ByteBuffer -> content.finishHtml(result)
is ByteArray -> content.finishHtml(result) is ByteArray -> content.finishHtml(result)
is String -> content.finishHtml(result.toByteArray()) is String -> content.finishHtml(result.toByteArray())
@ -349,6 +351,7 @@ open class RoutedHttpHandler(
if (doLog) log?.debug("{} finishText {}", content.clientIp, result) if (doLog) log?.debug("{} finishText {}", content.clientIp, result)
result ?: return result ?: return
when (result) { when (result) {
null -> content.finish(404)
is ByteBuffer -> content.finishText(result) is ByteBuffer -> content.finishText(result)
is ByteArray -> content.finishText(result) is ByteArray -> content.finishText(result)
is String -> content.finishText(result.toByteArray()) is String -> content.finishText(result.toByteArray())
@ -366,6 +369,7 @@ open class RoutedHttpHandler(
if (doLog) log?.debug("{} finishJson {}", content.clientIp, result) if (doLog) log?.debug("{} finishJson {}", content.clientIp, result)
result ?: return result ?: return
when (result) { when (result) {
null -> content.finish(404)
is ByteBuffer -> content.finishJson(result) is ByteBuffer -> content.finishJson(result)
is ByteArray -> content.finishJson(result) is ByteArray -> content.finishJson(result)
is String -> content.finishJson("\"$result\"".toByteArray()) is String -> content.finishJson("\"$result\"".toByteArray())