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, POSTMit 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.