mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-07-26 09:52:11 +03:00
The dns toggle button called fetch(..., { method: "PUT" }) but
src/app/api/tools/agent-bridge/agents/[id]/dns/route.ts only exports
POST, so Next.js auto-returned 405 on every Start/Stop DNS click.
Fixes the frontend caller to match the documented POST contract
(docs/frameworks/AGENTBRIDGE.md:490) already covered by
tests/unit/agent-bridge-dns-route-validation.test.ts.
Adds a regression test asserting the fetch call uses method: POST.
This commit is contained in:
committed by
GitHub
parent
e077906401
commit
cdb4998ea4
1
changelog.d/fixes/7157-agent-bridge-dns-405.md
Normal file
1
changelog.d/fixes/7157-agent-bridge-dns-405.md
Normal file
@@ -0,0 +1 @@
|
||||
- fix(dashboard): Agent Bridge DNS toggle now sends POST (was PUT), fixing HTTP 405 on Start/Stop DNS (#7157)
|
||||
@@ -147,7 +147,7 @@ export default function AgentBridgePageClient({
|
||||
setActionError(null);
|
||||
try {
|
||||
const res = await fetch(`/api/tools/agent-bridge/agents/${agentId}/dns`, {
|
||||
method: "PUT",
|
||||
method: "POST",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
body: JSON.stringify({ enabled }),
|
||||
});
|
||||
|
||||
24
tests/unit/agent-bridge-dns-toggle-method-7157.test.ts
Normal file
24
tests/unit/agent-bridge-dns-toggle-method-7157.test.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import test from "node:test";
|
||||
import assert from "node:assert/strict";
|
||||
import { readFileSync } from "node:fs";
|
||||
import { fileURLToPath } from "node:url";
|
||||
import path from "node:path";
|
||||
|
||||
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
||||
const clientPath = path.resolve(
|
||||
__dirname,
|
||||
"../../src/app/(dashboard)/dashboard/tools/agent-bridge/AgentBridgePageClient.tsx"
|
||||
);
|
||||
const source = readFileSync(clientPath, "utf8");
|
||||
|
||||
test("#7157: dns toggle fetch call uses method POST (route.ts only exports POST)", () => {
|
||||
const dnsCallMatch = source.match(
|
||||
/\/api\/tools\/agent-bridge\/agents\/\$\{agentId\}\/dns`,\s*\{\s*method:\s*"([A-Z]+)"/
|
||||
);
|
||||
assert.ok(dnsCallMatch, "expected to find the dns fetch call in AgentBridgePageClient.tsx");
|
||||
assert.equal(
|
||||
dnsCallMatch?.[1],
|
||||
"POST",
|
||||
"dns fetch call must use method: 'POST' to match the route.ts export (issue #7157)"
|
||||
);
|
||||
});
|
||||
Reference in New Issue
Block a user