Skip to content

Commit

Permalink
Add docs directory
Browse files Browse the repository at this point in the history
  • Loading branch information
skyizwhite committed Dec 23, 2024
1 parent f0306d8 commit 579c08a
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 10 deletions.
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -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:
Expand Down
11 changes: 2 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -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 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.
- [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 changes: 53 additions & 0 deletions docs/trailing-slash.md
Original file line number Diff line number Diff line change
@@ -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`.

0 comments on commit 579c08a

Please sign in to comment.