本文へ移動

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, POST

onMethodNotAllowed オプションでレスポンスをカスタマイズできます。

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 に許可するメソッドを設定します。

MIT ライセンスで公開されています。