From e48baa1bb354f683b704265e535aa4ebb8948ae0 Mon Sep 17 00:00:00 2001 From: JianFeeeee Date: Wed, 26 Aug 2026 00:34:57 +0800 Subject: [PATCH] fix(webui): missing HTTP method on fetch calls with body 6 call sites used the fetch default GET while sending a request body, which browsers reject outright ('Request with GET/HEAD method cannot have body'). Affected flows: create key, save source, save auto rules, upload adapter, update key model scope, and /api/chat streaming. All now send the method their backend handlers require (POST or PUT) with an explicit Content-Type. --- internal/gateway/ui/index.html | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/internal/gateway/ui/index.html b/internal/gateway/ui/index.html index c34898d..174e464 100644 --- a/internal/gateway/ui/index.html +++ b/internal/gateway/ui/index.html @@ -2268,6 +2268,7 @@ firstChunk = Date.now(); try { const resp = await fetch("/api/chat", { + method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ model, @@ -2516,6 +2517,8 @@ btn.disabled = true; try { await api("/api/sources", { + method: "POST", + headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload), }); toast(t("toastSaved")); @@ -3114,6 +3117,8 @@ }), ); await api("/api/auto", { + method: "PUT", + headers: { "Content-Type": "application/json" }, body: JSON.stringify({ rules }), }); } @@ -3372,6 +3377,8 @@ if (!name || !code) return toast(t("toastNeedAll")); try { await api("/api/adapters", { + method: "POST", + headers: { "Content-Type": "application/json" }, body: JSON.stringify({ name, code }), }); toast(t("toastUploaded")); @@ -3584,6 +3591,8 @@ } async function putScope(key, scopes) { await api("/api/keys/" + encodeURIComponent(key), { + method: "PUT", + headers: { "Content-Type": "application/json" }, body: JSON.stringify({ models: scopes }), }); } @@ -3905,6 +3914,8 @@ let j; try { j = await api("/api/keys", { + method: "POST", + headers: { "Content-Type": "application/json" }, body: JSON.stringify({ name, role: $("#kc-role").value,