Zum Inhalt springen

Method-Not-Allowed-Middleware ​

Die Method-Not-Allowed-Middleware gibt eine Antwort 405 Method Not Allowed mit einem Header Allow zurück, wenn der Anfragepfad zu einer registrierten Route passt, die Anfragemethode aber nicht unterstützt wird. Ohne diese Middleware gibt Hono in diesem Fall 404 Not Found zurück.

Import ​

ts
import { Hono } from 'hono'
import { methodNotAllowed } from 'hono/method-not-allowed'

Verwendung ​

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

Mit der Option onMethodNotAllowed kannst du die Antwort anpassen:

ts
app.use(
  methodNotAllowed({
    app,
    onMethodNotAllowed: (c, methods) =>
      c.json({ error: 'Method Not Allowed' }, 405, {
        Allow: methods.join(', '),
      }),
  })
)

Optionen ​

required app: Hono ​

Die von der Anwendung verwendete Hono-Instanz. Die Middleware sammelt aus ihren registrierten Routen die erlaubten Methoden für jeden Pfad.

optional onMethodNotAllowed: (c: Context, allowedMethods: string[]) => Response | Promise<Response> ​

Erzeugt die Antwort einschließlich ihres Headers Allow. Standardmäßig gibt die Middleware 405 Method Not Allowed zurück und setzt Allow auf die erlaubten Methoden.

Veröffentlicht unter der MIT-Lizenz.