Ring middleware useful with immutant.web
Ring middleware useful with immutant.web
(wrap-development handler)Wraps stacktrace and reload middleware with the correct :dirs option set, but will toss an exception if either the passed handler isn't a normal Clojure function or ring/ring-devel isn't available on the classpath
Wraps stacktrace and reload middleware with the correct :dirs option set, but will toss an exception if either the passed handler isn't a normal Clojure function or ring/ring-devel isn't available on the classpath
(wrap-session handler)(wrap-session handler options)Uses the session from either Undertow or, when deployed to an app server cluster such as WildFly or EAP, the servlet's possibly-replicated HttpSession. By default, sessions will timeout after 30 minutes of inactivity.
Supported options:
A :timeout value less than or equal to zero indicates the session should never expire.
When running embedded, i.e. not deployed to a WildFly/EAP container, another option is available:
And the following :cookie-attrs keys are supported:
Within WildFly/EAP, :cookie-attrs is ignored because a servlet
context may only be configured at deployment. This means
non-standard cookie configuration must be done in
WEB-INF/web.xml.
Uses the session from either Undertow or, when deployed to an app
server cluster such as WildFly or EAP, the servlet's
possibly-replicated HttpSession. By default, sessions will timeout
after 30 minutes of inactivity.
Supported options:
* :timeout The number of seconds of inactivity before session expires [1800]
* :cookie-name The name of the cookie that holds the session key ["JSESSIONID"]
A :timeout value less than or equal to zero indicates the session
should never expire.
When running embedded, i.e. not deployed to a WildFly/EAP container,
another option is available:
* :cookie-attrs A map of attributes to associate with the session cookie [nil]
And the following :cookie-attrs keys are supported:
* :path - the subpath the cookie is valid for
* :domain - the domain the cookie is valid for
* :max-age - the maximum age in seconds of the cookie
* :secure - set to true if the cookie requires HTTPS, prevent HTTP access
* :http-only - set to true if the cookie is valid for HTTP and HTTPS only
(ie. prevent JavaScript access)
Within WildFly/EAP, :cookie-attrs is ignored because a servlet
context may only be configured at deployment. This means
non-standard cookie configuration must be done in
`WEB-INF/web.xml`.(wrap-websocket handler callbacks)(wrap-websocket handler key value & key-values)Middleware to attach websocket callbacks to a Ring handler.
The following callbacks are supported, where channel is an async
channel, throwable is a Java exception, and message may be
either a String or a byte[]:
(fn [channel message])(fn [channel])(fn [channel {:keys [code reason]}])(fn [channel throwable])If handler is nil, a 404 status will be returned for any
non-websocket request. Also see immutant.web.async/as-channel.
Middleware to attach websocket callbacks to a Ring handler.
The following callbacks are supported, where `channel` is an async
channel, `throwable` is a Java exception, and `message` may be
either a `String` or a `byte[]`:
* :on-message `(fn [channel message])`
* :on-open `(fn [channel])`
* :on-close `(fn [channel {:keys [code reason]}])`
* :on-error `(fn [channel throwable])`
If handler is nil, a 404 status will be returned for any
non-websocket request. Also see [[immutant.web.async/as-channel]].(wrap-write-error-handling handler error-handler)Sets the :write-error-handler for each request to error-handler, unless it is already set.
See immutant.web/run for more details on :write-error-handler.
Sets the :write-error-handler for each request to error-handler, unless it is already set. See [[immutant.web/run]] for more details on :write-error-handler.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |