fix(network): 解决SSE流式接口的日志记录阻塞问题

- 添加Content-Type检查,对event-stream类型的响应跳过body日志记录
- 避免source.request(MAX)调用阻塞SSE流式传输
- 移除多余的空行以优化代码结构
这个提交包含在:
徐勤民 2026-04-16 18:44:46 +08:00
父节点 e2cae52dbc
当前提交 8582316cb8

查看文件

@ -44,6 +44,12 @@ class HeaderInterceptor(val context: Context) : Interceptor {
val response = chain.proceed(request)
// SSE 流式接口text/event-stream跳过 body 日志,避免 source.request(MAX) 阻塞流式传输
val contentType = response.header("Content-Type") ?: ""
if (contentType.contains("event-stream", ignoreCase = true)) {
return response
}
response.body()?.also {
if (!bodyHasUnknownEncoding(headers) && hasBody(response)) {
val source: BufferedSource = it.source()
@ -62,7 +68,6 @@ class HeaderInterceptor(val context: Context) : Interceptor {
var charset = UTF8
it.contentType()?.also { its -> charset = its.charset(Charset.forName("UTF-8"))!! }
if (isPlaintext(buffer)) {
buffer.clone().readString(charset).log()
}