ring.util.response
Functions for generating and augmenting response maps.
bad-request
added in 1.7
(bad-request body)
Returns a 400 'bad request' response.
charset
added in 1.1
(charset resp charset)
Returns an updated Ring response with the supplied charset added to the
Content-Type header.
content-type
(content-type resp content-type)
Returns an updated Ring response with the a Content-Type header corresponding
to the given content-type.
created
added in 1.2
(created url)
(created url body)
Returns a Ring response for a HTTP 201 created response.
file-response
(file-response filepath)
(file-response filepath options)
Returns a Ring response to serve a static file, or nil if an appropriate
file does not exist.
Options:
:root - take the filepath relative to this root path
:index-files? - look for index.* files in directories (defaults to true)
:allow-symlinks? - allow symlinks that lead to paths outside the root path
(defaults to false)
get-charset
added in 1.6
(get-charset resp)
Gets the character encoding of a Ring response.
not-found
added in 1.1
(not-found body)
Returns a 404 'not found' response.
redirect
(redirect url)
(redirect url status)
Returns a Ring response for an HTTP 302 redirect. Status may be
a key in redirect-status-codes or a numeric code. Defaults to 302
redirect-after-post
deprecated in 1.4
(redirect-after-post url)
Returns a Ring response for an HTTP 303 redirect. Deprecated in favor
of using redirect with a :see-other status.
redirect-status-codes
added in 1.4
Map a keyword to a redirect status code.
resource-data
multimethod
added in 1.4
(resource-data url)
Returns data about the resource specified by url, or nil if an
appropriate resource does not exist.
The return value is a map with optional values for:
:content - the content of the URL, suitable for use as the :body
of a ring response
:content-length - the length of the :content, nil if not available
:last-modified - the Date the :content was last modified, nil if not
available
This dispatches on the protocol of the URL as a keyword, and
implementations are provided for :file and :jar. If you are on a
platform where (Class/getResource) returns URLs with a different
protocol, you will need to provide an implementation for that
protocol.
This function is used internally by url-response.
resource-response
(resource-response path)
(resource-response path options)
Returns a Ring response to serve a packaged resource, or nil if the
resource does not exist.
Options:
:root - take the resource relative to this root
:loader - resolve the resource in this class loader
:allow-symlinks? - allow symlinks that lead to paths outside the root
classpath directories (defaults to false)
response
(response body)
Returns a skeletal Ring response with the given body, status of 200, and no
headers.
response?
added in 1.1
(response? resp)
True if the supplied value is a valid response map.
set-cookie
added in 1.1
(set-cookie resp name value & [opts])
Sets a cookie on the response. Requires the handler to be wrapped in the
wrap-cookies middleware.
status
(status status)
(status resp status)
Returns an updated Ring response with the given status.
url-response
added in 1.2
(url-response url)
Return a response for the supplied URL.