From 6b0d03f2d632597a75e63d03a9932d189d354a2b Mon Sep 17 00:00:00 2001 From: Grail Finder Date: Tue, 3 Mar 2026 14:26:06 +0300 Subject: Fix: decompres before notify --- bot.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'bot.go') diff --git a/bot.go b/bot.go index 75444e4..60d8f22 100644 --- a/bot.go +++ b/bot.go @@ -3,6 +3,7 @@ package main import ( "bufio" "bytes" + "compress/gzip" "context" "encoding/json" "fmt" @@ -495,6 +496,17 @@ func monitorModelLoad(modelID string) { // extractDetailedErrorFromBytes extracts detailed error information from response body bytes func extractDetailedErrorFromBytes(body []byte, statusCode int) string { + // Try to decompress gzip if the response is compressed + if len(body) >= 2 && body[0] == 0x1f && body[1] == 0x8b { + reader, err := gzip.NewReader(bytes.NewReader(body)) + if err == nil { + decompressed, err := io.ReadAll(reader) + reader.Close() + if err == nil { + body = decompressed + } + } + } // Try to parse as JSON to extract detailed error information var errorResponse map[string]any if err := json.Unmarshal(body, &errorResponse); err == nil { -- cgit v1.2.3