Add docs directory

This commit is contained in:
paku 2024-12-23 15:58:14 +09:00
parent f0306d87b9
commit 579c08ab14
3 changed files with 56 additions and 10 deletions

View file

@ -1,4 +1,4 @@
Copyright 2024 skyizwhite
Copyright 2024 - present, skyizwhite
Copyright 2021 - present, Yusuke Wada and Hono contributors
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

View file

@ -1,24 +1,17 @@
# lack-mw
Middleware collection for [Lack](https://github.com/fukamachi/lack).
These middlewares were ported from [Hono](https://github.com/honojs/hono).
## Middlewares
- **trailing-slash**
Handles trailing slashes in URLs for GET requests.
If the requested resource isnt found, it redirects to the correct URL accordingly.
- `*append-trailing-slash*`
Redirects to the URL **with** a trailing slash.
- `*trim-trailing-slash*`
Redirects to the URL **without** a trailing slash.
- [trailing-slash](/docs/trailing-slash.md)
- Coming soon...
## License
Licensed under the MIT License.
© 2024 skyizwhite
© 2024 - present, skyizwhite
© 2021 - present, Yusuke Wada and Hono contributors

53
docs/trailing-slash.md Normal file
View file

@ -0,0 +1,53 @@
# 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`.