允许autoReturn直接返回ByteBuffer

This commit is contained in:
tursom 2019-12-15 02:16:11 +08:00
parent 1f9372ae68
commit 85dff20dd3
2 changed files with 3 additions and 2 deletions

View File

@ -161,15 +161,15 @@ open class NettyHttpContent(
} }
override fun finishChunked() { override fun finishChunked() {
writeChunkedHeader()
finished = true finished = true
writeChunkedHeader()
val httpChunkWriter = HttpChunkedInput(NettyChunkedByteBuffer(chunkedList)) val httpChunkWriter = HttpChunkedInput(NettyChunkedByteBuffer(chunkedList))
ctx.writeAndFlush(httpChunkWriter) ctx.writeAndFlush(httpChunkWriter)
} }
override fun finishChunked(chunked: Chunked) { override fun finishChunked(chunked: Chunked) {
writeChunkedHeader()
finished = true finished = true
writeChunkedHeader()
val httpChunkWriter = HttpChunkedInput(NettyChunkedInput(chunked)) val httpChunkWriter = HttpChunkedInput(NettyChunkedInput(chunked))
ctx.writeAndFlush(httpChunkWriter) ctx.writeAndFlush(httpChunkWriter)
} }

View File

@ -304,6 +304,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) {
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())
is StringBuffer -> content.finishText(result.toString().toByteArray()) is StringBuffer -> content.finishText(result.toString().toByteArray())