コンテンツにスキップ

ETag ミドルウェア

このミドルウェアを使用すると、簡単に ETag ヘッダーを追加できます。

インポート

ts
import { Hono } from 'hono'
import { etag } from 'hono/etag'

使用

ts
const app = new Hono()

app.use('/etag/*', etag())
app.get('/etag/abc', (c) => {
  return c.text('Hono is cool')
})

保持されるヘッダー

304 レスポンスには、同等の 200 OK レスポンスで送信されるヘッダーを含める必要があります。デフォルトのヘッダーは、Cache-Control、Content-Location、Date、ETag、Expires、および Vary です。

送信するヘッダーを追加する場合は、retainedHeaders オプションと、デフォルトのヘッダーを含む文字列配列変数 RETAINED_304_HEADERS を使用できます。

ts
import { etag, RETAINED_304_HEADERS } from 'hono/etag'

// ...

app.use(
  '/etag/*',
  etag({
    retainedHeaders: ['x-message', ...RETAINED_304_HEADERS],
  })
)

オプション

オプション weak: boolean

弱い検証を使用して、または使用せずに定義します。true が設定されると、値のプレフィックスに w/ が追加されます。デフォルトは false です。

オプション retainedHeaders: string[]

304 レスポンスに保持するヘッダー。

MITライセンスに基づいてリリースされます。