ol.busker.middleware
Ring middleware for common HTTP handling patterns.
wrap-reject-early-data
(wrap-reject-early-data handler)
(wrap-reject-early-data handler {:keys [methods on-reject] :or {methods (complement idempotent-methods)}})
Middleware that rejects non-idempotent requests arriving via 0-RTT.
0-RTT data can be replayed by attackers. This middleware returns HTTP 425 Too Early for POST, PUT, DELETE, PATCH requests that arrive before the TLS handshake completes.
Options: :methods - set of methods to reject (default: all except GET, HEAD, OPTIONS, TRACE) :on-reject - fn called with request when rejecting (for logging)
Example: (wrap-reject-early-data handler) (wrap-reject-early-data handler {:on-reject #(log/warn "Rejected early" %)})