53 lines
1.3 KiB
Markdown
53 lines
1.3 KiB
Markdown
# trailing-slash middleware
|
|
|
|
This middleware handles Trailing Slash in the URL on a GET request.
|
|
|
|
`append-trailing-slash` redirects the URL to which it added the Trailing Slash if the content was not found. Also, `trim-trailing-slash` will remove the Trailing Slash.
|
|
|
|
## Usage
|
|
|
|
Example of redirecting a GET request of `/about/me` to `/about/me/`.
|
|
|
|
```lisp
|
|
(defpackage #:app/main
|
|
(:use #:cl)
|
|
(:import-from #:ningle)
|
|
(:import-from #:lack)
|
|
(:import-from #:lack-mw
|
|
#:append-trailing-slash))
|
|
(in-package #:app/main)
|
|
|
|
(defparameter *raw-app* (make-instance 'ningle:app))
|
|
(setf (ningle:route *raw-app* "/about/me/")
|
|
"With Trailing Slash")
|
|
|
|
(defparameter *app*
|
|
(lack:builder
|
|
(append-trailing-slash)
|
|
*raw-app*))
|
|
```
|
|
|
|
Example of redirecting a GET request of `/about/me/` to `/about/me`.
|
|
|
|
```lisp
|
|
(defpackage #:app/main
|
|
(:use #:cl)
|
|
(:import-from #:ningle)
|
|
(:import-from #:lack)
|
|
(:import-from #:lack-mw
|
|
#:trim-trailing-slash))
|
|
(in-package #:app/main)
|
|
|
|
(defparameter *raw-app* (make-instance 'ningle:app))
|
|
(setf (ningle:route *raw-app* "/about/me")
|
|
"Without Trailing Slash")
|
|
|
|
(defparameter *app*
|
|
(lack:builder
|
|
(trim-trailing-slash)
|
|
*raw-app*))
|
|
```
|
|
|
|
## Note
|
|
|
|
It will be enabled when the request method is GET and the response status is `404`.
|