Solid Middleware for SolidStart

Learn about Sentry's middleware for better instrumentation.

The Sentry middleware enhances the data collected by Sentry on the server side by enabling distributed tracing between the client and server.

Add the Sentry middleware to your src/middleware.ts file. If you don't have a src/middleware.ts file yet, create one:

src/middleware.ts
Copied
import { sentryBeforeResponseMiddleware } from "@sentry/solidstart";
import { createMiddleware } from "@solidjs/start/middleware";

export default createMiddleware({
  onBeforeResponse: [
    sentryBeforeResponseMiddleware(),
    // Add your other middleware handlers after `sentryBeforeResponseMiddleware`
  ],
});

Then register middleware.ts in your build config. On SolidStart 2, pass it to the solidStart plugin in vite.config.ts. On SolidStart 1, specify it in app.config.ts:

vite.config.ts
Copied
import { solidStart } from "@solidjs/start/config";
import { defineConfig } from "vite";

export default defineConfig({
  plugins: [
    solidStart({
      // ...
      middleware: "./src/middleware.ts",
    }),
    // ...
  ],
});
Was this helpful?
Help improve this content
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").