Chore: request cleanup

This commit is contained in:
Grail Finder
2025-12-18 15:22:03 +03:00
parent 8cdec5e544
commit 5f852418d8

42
bot.go
View File

@@ -330,13 +330,7 @@ func fetchLCPModels() ([]string, error) {
// sendMsgToLLM expects streaming resp // sendMsgToLLM expects streaming resp
func sendMsgToLLM(body io.Reader) { func sendMsgToLLM(body io.Reader) {
choseChunkParser() choseChunkParser()
var req *http.Request req, err := http.NewRequest("POST", cfg.CurrentAPI, body)
var err error
// Capture and log the request body for debugging
if _, ok := body.(*io.LimitedReader); ok {
// If it's a LimitedReader, we need to handle it differently
logger.Debug("request body type is LimitedReader", "parser", chunkParser, "link", cfg.CurrentAPI)
req, err = http.NewRequest("POST", cfg.CurrentAPI, body)
if err != nil { if err != nil {
logger.Error("newreq error", "error", err) logger.Error("newreq error", "error", err)
if err := notifyUser("error", "apicall failed:"+err.Error()); err != nil { if err := notifyUser("error", "apicall failed:"+err.Error()); err != nil {
@@ -349,40 +343,6 @@ func sendMsgToLLM(body io.Reader) {
req.Header.Add("Content-Type", "application/json") req.Header.Add("Content-Type", "application/json")
req.Header.Add("Authorization", "Bearer "+chunkParser.GetToken()) req.Header.Add("Authorization", "Bearer "+chunkParser.GetToken())
req.Header.Set("Accept-Encoding", "gzip") req.Header.Set("Accept-Encoding", "gzip")
} else {
// For other reader types, capture and log the body content
bodyBytes, err := io.ReadAll(body)
if err != nil {
logger.Error("failed to read request body for logging", "error", err)
// Create request with original body if reading fails
req, err = http.NewRequest("POST", cfg.CurrentAPI, bytes.NewReader(bodyBytes))
if err != nil {
logger.Error("newreq error", "error", err)
if err := notifyUser("error", "apicall failed:"+err.Error()); err != nil {
logger.Error("failed to notify", "error", err)
}
streamDone <- true
return
}
} else {
// Log the request body for debugging
logger.Debug("sending request to API", "api", cfg.CurrentAPI, "body", string(bodyBytes))
// Create request with the captured body
req, err = http.NewRequest("POST", cfg.CurrentAPI, bytes.NewReader(bodyBytes))
if err != nil {
logger.Error("newreq error", "error", err)
if err := notifyUser("error", "apicall failed:"+err.Error()); err != nil {
logger.Error("failed to notify", "error", err)
}
streamDone <- true
return
}
}
req.Header.Add("Accept", "application/json")
req.Header.Add("Content-Type", "application/json")
req.Header.Add("Authorization", "Bearer "+chunkParser.GetToken())
req.Header.Set("Accept-Encoding", "gzip")
}
// nolint // nolint
resp, err := httpClient.Do(req) resp, err := httpClient.Do(req)
if err != nil { if err != nil {