Skip to content

Commit

Permalink
Change middleware definitions from parameters to functions
Browse files Browse the repository at this point in the history
  • Loading branch information
skyizwhite committed Dec 25, 2024
1 parent 61a4c17 commit 56ef2a8
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 13 deletions.
10 changes: 5 additions & 5 deletions docs/trailing-slash.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

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.
`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

Expand All @@ -14,7 +14,7 @@ Example of redirecting a GET request of `/about/me` to `/about/me/`.
(:import-from #:ningle)
(:import-from #:lack)
(:import-from #:lack-mw
#:*append-trailing-slash*))
#:append-trailing-slash))
(in-package #:app/main)
(defparameter *raw-app* (make-instance 'ningle:app))
Expand All @@ -23,7 +23,7 @@ Example of redirecting a GET request of `/about/me` to `/about/me/`.
(defparameter *app*
(lack:builder
*append-trailing-slash*
(append-trailing-slash)
*raw-app*))
```

Expand All @@ -35,7 +35,7 @@ Example of redirecting a GET request of `/about/me/` to `/about/me`.
(:import-from #:ningle)
(:import-from #:lack)
(:import-from #:lack-mw
#:*trim-trailing-slash*))
#:trim-trailing-slash))
(in-package #:app/main)
(defparameter *raw-app* (make-instance 'ningle:app))
Expand All @@ -44,7 +44,7 @@ Example of redirecting a GET request of `/about/me/` to `/about/me`.
(defparameter *app*
(lack:builder
*trim-trailing-slash*
(trim-trailing-slash)
*raw-app*))
```

Expand Down
8 changes: 4 additions & 4 deletions src/trailing-slash.lisp
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
(defpackage #:lack-mw/trailing-slash
(:use #:cl)
(:import-from #:quri)
(:export #:*trim-trailing-slash*
#:*append-trailing-slash*))
(:export #:trim-trailing-slash
#:append-trailing-slash))
(in-package #:lack-mw/trailing-slash)

(defun last-string (str)
(subseq str (- (length str) 1)))

(defparameter *trim-trailing-slash*
(defun trim-trailing-slash ()
(lambda (app)
(lambda (env)
(let* ((req-uri (quri:uri (getf env :request-uri)))
Expand All @@ -25,7 +25,7 @@
`(301 (:location ,(quri:render-uri red-uri)) ()))
response)))))

(defparameter *append-trailing-slash*
(defun append-trailing-slash ()
(lambda (app)
(lambda (env)
(let* ((req-uri (quri:uri (getf env :request-uri)))
Expand Down
8 changes: 4 additions & 4 deletions tests/trailing-slash.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,21 @@
#:request)
(:import-from #:ningle)
(:import-from #:lack-mw/trailing-slash
#:*trim-trailing-slash*
#:*append-trailing-slash*))
#:trim-trailing-slash
#:append-trailing-slash))
(in-package #:lack-mw-test/trailing-slash)

(defparameter *app-without-trailing-slash*
(lack:builder
*trim-trailing-slash*
(trim-trailing-slash)
(let ((raw-app (make-instance 'ningle:app)))
(setf (ningle:route raw-app "/") "ok")
(setf (ningle:route raw-app "/without/trailing/slash") "ok")
raw-app)))

(defparameter *app-with-trailing-slash*
(lack:builder
*append-trailing-slash*
(append-trailing-slash)
(let ((raw-app (make-instance 'ningle:app)))
(setf (ningle:route raw-app "/") "ok")
(setf (ningle:route raw-app "/something.file") "ok")
Expand Down

0 comments on commit 56ef2a8

Please sign in to comment.