forest.middleware
Macros that help defining a Forest middlewares. A middleware is a function that receives an app followed by an optional list of arguments.
defmiddleware
macro
(defmiddleware name doc-string? attr-map? middleware-args & body)Defines a generic middleware that will take an app and do something to change it.
defmiddleware-after
macro
(defmiddleware-after name doc-string? attr-map? middleware-args main-function)Like defmiddleware but main-function will be executed after the request handler.
defmiddleware-around
macro
(defmiddleware-around name doc-string? attr-map? middleware-args main-function)Like defmiddleware but main-function will be executed in place of the request handler. Unlike in defmiddleware, this main-function will be passed four arguments: request, response, opts and next. next is a function that takes no arguments and will trigger the route’s request handler when being called.
defmiddleware-before
macro
(defmiddleware-before name doc-string? attr-map? middleware-args main-function)Defines a Forest before middleware.
main-function is a function that receives two arguments request and response and will be executed before the route’s appropriate request handler.
If main-function retuns false, the request handler will be terminated.