History

chore(cloud): remove /api/debug/boom smoke-test endpoint

Used to verify the otel-cf-workers + Effect wiring end-to-end. No longer needed now that spans are confirmed landing in Axiom.

Rhys Sullivan committed 6 months ago

Commit 2f7def31 parent 28d8ece1 file · +0 −22Browse files

Unified · Split

apps/cloud/src/start.ts+0−22
@@ -1,9 +1,7 @@
1import { env } from "cloudflare:workers";1import { env } from "cloudflare:workers";
2import { createMiddleware, createStart } from "@tanstack/react-start";2import { createMiddleware, createStart } from "@tanstack/react-start";
3import { Effect } from "effect";
4import { handleApiRequest } from "./api";3import { handleApiRequest } from "./api";
5import { handleMcpRequest } from "./mcp";4import { handleMcpRequest } from "./mcp";
6import { TelemetryLive } from "./services/telemetry";
7 5
8// ---------------------------------------------------------------------------6// ---------------------------------------------------------------------------
9// Marketing routes — proxied to the marketing worker via service binding7// Marketing routes — proxied to the marketing worker via service binding
@@ -107,25 +105,6 @@ const sentryTunnelMiddleware = createMiddleware({ type: "request" }).server( · 97 unmodified lines
107 },105 },
108);106);
109 107
110// ---------------------------------------------------------------------------
111// Debug middleware — /api/debug/boom triggers an Effect span + throw so we
112// can verify traces hit Axiom and errors hit Sentry. Safe to leave in prod
113// since it's gated on an exact path match and only ever fails.
114// ---------------------------------------------------------------------------
115
116const debugBoomMiddleware = createMiddleware({ type: "request" }).server(
117 async ({ pathname, next }) => {
118 if (pathname !== "/api/debug/boom") return next();
119 const program = Effect.gen(function* () {
120 yield* Effect.logInfo("debug boom: about to throw");
121 yield* Effect.sync(() => {
122 throw new Error("debug boom: telemetry smoke test");
123 });
124 }).pipe(Effect.withSpan("debug.boom"), Effect.provide(TelemetryLive));
125 return Effect.runPromise(program) as unknown as Response;
126 },
127);
128
129// ---------------------------------------------------------------------------108// ---------------------------------------------------------------------------
130// API middleware — routes /api/* to the Effect HTTP layer109// API middleware — routes /api/* to the Effect HTTP layer
131// ---------------------------------------------------------------------------110// ---------------------------------------------------------------------------
@@ -146,7 +125,6 @@ export const startInstance = createStart(() => ({ · 14 unmodified lines
146 marketingMiddleware,125 marketingMiddleware,
147 mcpRequestMiddleware,126 mcpRequestMiddleware,
148 sentryTunnelMiddleware,127 sentryTunnelMiddleware,
149 debugBoomMiddleware,
150 apiRequestMiddleware,128 apiRequestMiddleware,
151 ],129 ],
152}));130}));