Files
ss-tools/scripts/mcp_proxy_fixture.py
busya 4d5ef6bed0 feat: dashboard-testing UX remediation + admin MCP governance + i18n sweep
- UX audit Fix 1-5: actionable MCP HandoffSurface (endpoint/discovery/onboarding), reachable
  approval loop (sidebar section + waiting-for-me badge), honest MCP entry labels, ROUTES SSOT
  for dashboard-testing/load-testing (+ link-integrity coverage)
- scenario registry hub (/dashboard-testing/scenarios) built on ScenarioRegistryModel
- admin MCP governance: read-only GET /api/admin/mcp/catalog (catalog x roles + DCR clients) +
  /admin/mcp page/model/api + ROUTES.admin.mcp + sidebar entry
- full i18n sweep of dashboard-testing routes and scenario-* component trees (ru/en)
- accumulated workspace: MCP OAuth/DCR, automation idempotency migration, docker/nginx, specs
2026-09-05 20:16:26 +03:00

29 lines
1.1 KiB
Python

# #region Tooling.McpProxyFixture [C:2] [TYPE Module] [SEMANTICS docker,mcp,nginx,fixture]
# @BRIEF Echo only synthetic transport facts for the isolated nginx smoke; no application database.
import json
from http.server import BaseHTTPRequestHandler, HTTPServer
# #region Tooling.McpProxyFixture.Handler [C:2] [TYPE Class]
class Handler(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.send_header("Content-Type", "application/json")
self.send_header("Mcp-Session-Id", self.headers.get("Mcp-Session-Id", "fixture-session"))
self.end_headers()
self.wfile.write(json.dumps({
"path": self.path, "method": self.command, "host": self.headers.get("Host"),
"scheme": self.headers.get("X-Forwarded-Proto"),
"authorization": self.headers.get("Authorization") == "Bearer smoke-fixture",
"session": self.headers.get("Mcp-Session-Id"),
}).encode())
do_POST = do_GET
do_DELETE = do_GET
# #endregion Tooling.McpProxyFixture.Handler
if __name__ == "__main__":
HTTPServer(("0.0.0.0", 8000), Handler).serve_forever()
# #endregion Tooling.McpProxyFixture