fix: validate UTF-8 before storing request_body as JSONB

PostgreSQL JSONB columns require valid UTF-8 encoding. Skip storing
request_body if it contains invalid UTF-8 byte sequences (e.g. from
non-UTF-8 terminal encodings).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
erio
2026-03-07 19:59:51 +08:00
co-authored by Claude Opus 4.6
parent 7f3bf571da
commit 0306119e12
@@ -4,6 +4,7 @@ import (
"context"
"database/sql"
"encoding/json"
"unicode/utf8"
"github.com/Wei-Shaw/sub2api/internal/service"
)
@@ -23,7 +24,7 @@ func (r *SoraTaskRepository) Create(ctx context.Context, task *service.SoraTask)
s := string(b)
charStr = &s
}
if len(task.RequestBody) > 0 {
if len(task.RequestBody) > 0 && utf8.Valid(task.RequestBody) {
s := string(task.RequestBody)
reqStr = &s
}