|
@@ -44,6 +44,12 @@ class HeaderInterceptor(val context: Context) : Interceptor {
|
|
|
|
|
|
|
|
val response = chain.proceed(request)
|
|
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 {
|
|
response.body()?.also {
|
|
|
if (!bodyHasUnknownEncoding(headers) && hasBody(response)) {
|
|
if (!bodyHasUnknownEncoding(headers) && hasBody(response)) {
|
|
|
val source: BufferedSource = it.source()
|
|
val source: BufferedSource = it.source()
|
|
@@ -62,7 +68,6 @@ class HeaderInterceptor(val context: Context) : Interceptor {
|
|
|
var charset = UTF8
|
|
var charset = UTF8
|
|
|
it.contentType()?.also { its -> charset = its.charset(Charset.forName("UTF-8"))!! }
|
|
it.contentType()?.also { its -> charset = its.charset(Charset.forName("UTF-8"))!! }
|
|
|
|
|
|
|
|
-
|
|
|
|
|
if (isPlaintext(buffer)) {
|
|
if (isPlaintext(buffer)) {
|
|
|
buffer.clone().readString(charset).log()
|
|
buffer.clone().readString(charset).log()
|
|
|
}
|
|
}
|