From 3d3deb1bf5ec44c82f5276e0056ad99d6bf0bcbf Mon Sep 17 00:00:00 2001 From: Snider Date: Thu, 26 Mar 2026 08:17:39 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20bridge.go=20=E2=80=94=20io.ReadAll=20?= =?UTF-8?q?=E2=86=92=20core.ReadAll,=20errors.As=20=E2=86=92=20core.As?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit encoding/json stays for SyntaxError/UnmarshalTypeError type assertions. net/http stays — transport boundary. Co-Authored-By: Virgil --- pkg/mcp/bridge.go | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/pkg/mcp/bridge.go b/pkg/mcp/bridge.go index 4400b3e..adec5fb 100644 --- a/pkg/mcp/bridge.go +++ b/pkg/mcp/bridge.go @@ -4,10 +4,9 @@ package mcp import ( "encoding/json" - "errors" - goio "io" "net/http" + core "dappco.re/go/core" "github.com/gin-gonic/gin" api "forge.lthn.ai/core/api" @@ -40,12 +39,12 @@ func BridgeToAPI(svc *Service, bridge *api.ToolBridge) { bridge.Add(desc, func(c *gin.Context) { var body []byte if c.Request.Body != nil { - var err error - body, err = goio.ReadAll(goio.LimitReader(c.Request.Body, maxBodySize)) - if err != nil { + r := core.ReadAll(c.Request.Body) + if !r.OK { c.JSON(http.StatusBadRequest, api.Fail("invalid_request", "Failed to read request body")) return } + body = []byte(r.Value.(string)) } result, err := handler(c.Request.Context(), body) @@ -54,7 +53,7 @@ func BridgeToAPI(svc *Service, bridge *api.ToolBridge) { // everything else as server errors (500). var syntaxErr *json.SyntaxError var typeErr *json.UnmarshalTypeError - if errors.As(err, &syntaxErr) || errors.As(err, &typeErr) { + if core.As(err, &syntaxErr) || core.As(err, &typeErr) { c.JSON(http.StatusBadRequest, api.Fail("invalid_input", "Malformed JSON in request body")) return }