macchiato.middleware.anti-forgery
*anti-forgery-token*
dynamic
Binding that stores an anti-forgery token that must be included in POST forms if the handler is wrapped in wrap-anti-forgery.
wrap-anti-forgery
(wrap-anti-forgery handler)
(wrap-anti-forgery handler options)
Middleware that prevents CSRF attacks. Any POST request to the handler
returned by this function must contain a valid anti-forgery token, or else an
access-denied response is returned.
The anti-forgery token can be placed into a HTML page via the
*anti-forgery-token* var, which is bound to a random key unique to the
current session. By default, the token is expected to be in a form field
named '__anti-forgery-token', or in the 'X-CSRF-Token' or 'X-XSRF-Token'
headers.
Accepts the following options:
:read-token - a function that takes a request and returns an anti-forgery
token, or nil if the token does not exist
:error-response - the response to return if the anti-forgery token is
incorrect or missing
:error-handler - a handler function to call if the anti-forgery token is
incorrect or missing.
Only one of :error-response, :error-handler may be specified.