Middleware

Cloudflare Workers

Use ctx.waitUntil so the hit outlives the response.

Setup

worker.ts
import { workers as vector5 } from '@vector5/middleware'

const track = vector5({
  endpoint: 'https://analytics.example.com/api/hit',
  domain: 'example.com',
})

export default {
  async fetch(request: Request, env: unknown, ctx: { waitUntil: (p: Promise<unknown>) => void }) {
    ctx.waitUntil(track(request))
    return fetch(request)
  },
}

Something off? Open an issue · Edit on GitHub