Add docs directory
This commit is contained in:
parent
f0306d87b9
commit
579c08ab14
3 changed files with 56 additions and 10 deletions
2
LICENSE
2
LICENSE
|
@ -1,4 +1,4 @@
|
||||||
Copyright 2024 skyizwhite
|
Copyright 2024 - present, skyizwhite
|
||||||
Copyright 2021 - present, Yusuke Wada and Hono contributors
|
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:
|
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:
|
||||||
|
|
11
README.md
11
README.md
|
@ -1,24 +1,17 @@
|
||||||
# lack-mw
|
# lack-mw
|
||||||
|
|
||||||
Middleware collection for [Lack](https://github.com/fukamachi/lack).
|
Middleware collection for [Lack](https://github.com/fukamachi/lack).
|
||||||
|
|
||||||
These middlewares were ported from [Hono](https://github.com/honojs/hono).
|
These middlewares were ported from [Hono](https://github.com/honojs/hono).
|
||||||
|
|
||||||
## Middlewares
|
## Middlewares
|
||||||
|
|
||||||
- **trailing-slash**
|
- [trailing-slash](/docs/trailing-slash.md)
|
||||||
Handles trailing slashes in URLs for GET requests.
|
|
||||||
If the requested resource isn’t 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.
|
|
||||||
- Coming soon...
|
- Coming soon...
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
Licensed under the MIT License.
|
Licensed under the MIT License.
|
||||||
|
|
||||||
© 2024 skyizwhite
|
© 2024 - present, skyizwhite
|
||||||
|
|
||||||
© 2021 - present, Yusuke Wada and Hono contributors
|
© 2021 - present, Yusuke Wada and Hono contributors
|
53
docs/trailing-slash.md
Normal file
53
docs/trailing-slash.md
Normal 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`.
|
Loading…
Reference in a new issue