From 56ef2a853db093bb897b1a24346a5dbaf870e3ff Mon Sep 17 00:00:00 2001 From: paku Date: Wed, 25 Dec 2024 15:38:52 +0900 Subject: [PATCH] Change middleware definitions from parameters to functions --- docs/trailing-slash.md | 10 +++++----- src/trailing-slash.lisp | 8 ++++---- tests/trailing-slash.lisp | 8 ++++---- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/trailing-slash.md b/docs/trailing-slash.md index 1439288..b3067fe 100644 --- a/docs/trailing-slash.md +++ b/docs/trailing-slash.md @@ -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 @@ -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)) @@ -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*)) ``` @@ -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)) @@ -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*)) ``` diff --git a/src/trailing-slash.lisp b/src/trailing-slash.lisp index 27ee273..1057c56 100644 --- a/src/trailing-slash.lisp +++ b/src/trailing-slash.lisp @@ -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))) @@ -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))) diff --git a/tests/trailing-slash.lisp b/tests/trailing-slash.lisp index a10a787..4cb9122 100644 --- a/tests/trailing-slash.lisp +++ b/tests/trailing-slash.lisp @@ -7,13 +7,13 @@ #: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") @@ -21,7 +21,7 @@ (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")