diff --git a/docs/trailing-slash.md b/docs/trailing-slash.md index b3067fe..1439288 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 1057c56..27ee273 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))) -(defun trim-trailing-slash () +(defparameter *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))))) -(defun append-trailing-slash () +(defparameter *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 4cb9122..a10a787 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")