コンテンツにスキップ

リクエストIDミドルウェア

リクエストIDミドルウェアは、各リクエストに一意のIDを生成します。これはハンドラーで使用できます。

インポート

ts
import { Hono } from 'hono'
import { requestId } from 'hono/request-id'

使い方

リクエストIDミドルウェアが適用されたハンドラーとミドルウェアでは、requestId変数を通じてリクエストIDにアクセスできます。

ts
const app = new Hono()

app.use('*', requestId())

app.get('/', (c) => {
  return c.text(`Your request id is ${c.get('requestId')}`)
})

型を明示的に指定したい場合は、RequestIdVariablesをインポートし、new Hono()のジェネリクスに渡してください。

ts
import type { RequestIdVariables } from 'hono/request-id'

const app = new Hono<{
  Variables: RequestIdVariables
}>()

オプション

オプション limitLength: number

リクエストIDの最大長。デフォルトは255です。

オプション headerName: string

リクエストIDに使用されるヘッダー名。デフォルトはX-Request-Idです。

オプション generator: (c: Context) => string

リクエストID生成関数。デフォルトではcrypto.randomUUID()を使用します。

MITライセンスの下でリリースされています。