Trailing-Slash-Middleware
Diese Middleware behandelt abschließende Schrägstriche in der URL einer GET-Anfrage.
Wenn der Inhalt nicht gefunden wurde, leitet appendTrailingSlash auf die URL mit hinzugefügtem abschließendem Schrägstrich um. trimTrailingSlash entfernt dagegen den abschließenden Schrägstrich.
Import
import { Hono } from 'hono'
import {
appendTrailingSlash,
trimTrailingSlash,
} from 'hono/trailing-slash'Verwendung
Beispiel für die Weiterleitung einer GET-Anfrage von /about/me nach /about/me/.
import { Hono } from 'hono'
import { appendTrailingSlash } from 'hono/trailing-slash'
const app = new Hono({ strict: true })
app.use(appendTrailingSlash())
app.get('/about/me/', (c) => c.text('With Trailing Slash'))Beispiel für die Weiterleitung einer GET-Anfrage von /about/me/ nach /about/me.
import { Hono } from 'hono'
import { trimTrailingSlash } from 'hono/trailing-slash'
const app = new Hono({ strict: true })
app.use(trimTrailingSlash())
app.get('/about/me', (c) => c.text('Without Trailing Slash'))Optionen
optional alwaysRedirect: boolean
Standardmäßig leitet die Trailing-Slash-Middleware nur um, wenn der Antwortstatus 404 ist. Bei alwaysRedirect mit dem Wert true erfolgt die Weiterleitung vor Ausführung der Handler. Dies ist für Wildcard-Routen (*) hilfreich, bei denen das Standardverhalten nicht funktioniert.
const app = new Hono()
app.use(trimTrailingSlash({ alwaysRedirect: true }))
app.get('/my-path/*', (c) => c.text('Wildcard route'))Diese Option ist sowohl für trimTrailingSlash als auch für appendTrailingSlash verfügbar.
optional skip: (path: string) => boolean
Eine Funktion, die anhand des Anfragepfads entscheidet, ob die Weiterleitung übersprungen werden soll. Wenn sie true zurückgibt, wird nicht weitergeleitet. Das ist hilfreich, wenn du bestimmte Pfade, etwa solche mit Dateiendungen, von der Weiterleitung ausnehmen möchtest.
app.use(
appendTrailingSlash({
skip: (path) => /\.\w+$/.test(path),
})
)Diese Option ist sowohl für trimTrailingSlash als auch für appendTrailingSlash verfügbar.
Hinweis
Die Middleware wird aktiviert, wenn die Anfragemethode GET und der Antwortstatus 404 ist.