Method Not Allowed ミドルウェア
Method Not Allowed ミドルウェアは、リクエストパスが登録済みのルートにマッチしてもメソッドがサポートされていない場合に、Allow ヘッダー付きの 405 Method Not Allowed レスポンスを返します。このミドルウェアがなければ、Hono はその場合に 404 Not Found を返します。
インポート
ts
import { Hono } from 'hono'
import { methodNotAllowed } from 'hono/method-not-allowed'使い方
ts
const app = new Hono()
app.use(methodNotAllowed({ app }))
app.get('/hello', (c) => c.text('Hello!'))
app.post('/hello', (c) => c.text('Posted!'))
// PUT /hello -> 405 Method Not Allowed
// Allow: GET, HEAD, POSTonMethodNotAllowed オプションでレスポンスをカスタマイズできます。
ts
app.use(
methodNotAllowed({
app,
onMethodNotAllowed: (c, methods) =>
c.json({ error: 'Method Not Allowed' }, 405, {
Allow: methods.join(', '),
}),
})
)オプション
required app: Hono
アプリケーションで使用する Hono インスタンスです。ミドルウェアは、その登録済みルートから各パスで許可するメソッドを収集します。
optional onMethodNotAllowed: (c: Context, allowedMethods: string[]) => Response | Promise<Response>
Allow ヘッダーを含むレスポンスを生成します。デフォルトでは、ミドルウェアは 405 Method Not Allowed を返し、Allow に許可するメソッドを設定します。