public.javadoc.org.spincast.core.exchange.ResponseRequestContextAddon.html Maven / Gradle / Ivy
Show all versions of spincast-website Show documentation
ResponseRequestContextAddon (org.spincast:spincast-framework 1.0.0 API)
org.spincast.core.exchange
Interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
- All Known Implementing Classes:
- SpincastResponseRequestContextAddon
public interface ResponseRequestContextAddon<R extends RequestContext<?>>
Methods to manipulate the response.
-
-
Method Summary
All Methods Instance Methods Abstract Methods
Modifier and Type
Method and Description
void
addAlert(AlertLevel level,
String message)
Adds an Alert that is, in general, displayed at the top
of the page to show the user an Error, a Warning or a
confirmation message.
void
addForm(Form form)
Adds a Form
object to the response's
model and links its validation messages to the
default "validation" root element.
void
addForm(Form form,
String validationElementName)
Adds a Form
object to the response's
model and links its validation messages to the
specified validation element.
ResponseRequestContextAddon<R>
addHeaderValue(String name,
String value)
Adds a value to a response header.
ResponseRequestContextAddon<R>
addHeaderValues(String name,
List<String> values)
Adds a list of values to a response header.
Cookie
createCookie(String name)
Creates a cookie using the given name (null
value).
void
deleteAllCookiesUserHas()
Deletes all cookies! Not only
the new cookies that have been added to the response, but
also the cookies that have been received in the request!
void
deleteCookie(String name)
Deletes a cookie.
void
end()
Flushes everything and closes the response.
void
flush()
Flushes the current response.
void
flush(boolean close)
Flushes the current response.
String
getCharactersCharsetName()
The charset to use to convert characters to bytes.
String
getContentType()
The current Content-Type
sent or to be send.
Cookie
getCookieAdded(String name)
Gets a cookie already added to the response, by its name.
Map<String,Cookie>
getCookiesAdded()
Gets the cookies already added to the response as a Map,
using their names as the keys.
GzipOption
getGzipOption()
The currently set gzip options.
List<String>
getHeader(String name)
The values of a specific response header.
String
getHeaderFirst(String name)
The first value of a specific header.
Map<String,List<String>>
getHeaders()
The currently set response headers.
JsonObject
getModel()
The JsonObject
which serves as the model for
the response.
int
getStatusCode()
The current status code
sent or to be send.
byte[]
getUnsentBytes()
Gets the current unsent bytes (AKA the buffer).
String
getUnsentCharacters()
Gets the current unsent characters (AKA the buffer), using the
UTF-8
encoding.
String
getUnsentCharacters(String encoding)
Gets the current unsent characters (AKA the buffer), using the
specified encoding.
boolean
isClosed()
Is the response closed? If so, nothing more can be sent...
boolean
isHeadersSent()
Are the response headers sent? If this is the case,
then the headers can't be changed anymore.
void
redirect()
Sets a temporarily redirection header (302) to the
current page.
void
redirect(FlashMessage flashMessage)
Sets a temporarily redirection header (302) to the
current page, with a Flash message to display.
void
redirect(FlashMessageLevel flashMessageType,
String flashMessageText)
Sets a temporarily redirection header (302) to the
current page, with a Flash message to display.
void
redirect(FlashMessageLevel flashMessageType,
String flashMessageText,
JsonObject flashMessageVariables)
Sets a temporarily redirection header (302) to the
current page, with a Flash message to display.
void
redirect(String newUrl)
Sets a temporarily redirection header (302).
void
redirect(String newUrl,
boolean permanently)
Sets a redirection header.
void
redirect(String newUrl,
boolean permanently,
FlashMessage flashMessage)
Sets a redirection header, with a Flash message to display.
void
redirect(String newUrl,
boolean permanently,
FlashMessageLevel flashMessageType,
String flashMessageText)
Sets a redirection header, with a Flash message to display.
void
redirect(String newUrl,
boolean permanently,
FlashMessageLevel flashMessageType,
String flashMessageText,
JsonObject flashMessageVariables)
Sets a redirection header, with a Flash message to display.
void
redirect(String newUrl,
FlashMessage flashMessage)
Sets a temporarily redirection header (302),
with a Flash message to display.
void
redirect(String newUrl,
FlashMessageLevel flashMessageType,
String flashMessageText)
Sets a temporarily redirection header (302),
with a Flash message to display.
void
redirect(String newUrl,
FlashMessageLevel flashMessageType,
String flashMessageText,
JsonObject flashMessageVariables)
Sets a temporarily redirection header (302),
with a Flash message to display.
void
redirect(String newUrl,
int specific3xxCode)
Sets the redirection headers with a specified 3xx
status code.
void
redirect(String newUrl,
int specific3xxCode,
FlashMessage flashMessage)
Sets the redirection headers with a specified 3xx
status code,
and a Flash message to display.
void
redirect(String newUrl,
int specific3xxCode,
FlashMessageLevel flashMessageType,
String flashMessageText)
Sets the redirection headers with a specified 3xx
status code,
and a Flash message to display.
void
redirect(String newUrl,
int specific3xxCode,
FlashMessageLevel flashMessageType,
String flashMessageText,
JsonObject flashMessageVariables)
Sets the redirection headers with a specified 3xx
status code,
and a Flash message to display.
void
redirect(String newUrl,
JsonObject flashMessageVariables)
Sets a temporarily redirection header (302),
with a Flash variables.
ResponseRequestContextAddon<R>
removeHeader(String name)
Removes an header by its name.
ResponseRequestContextAddon<R>
resetBuffer()
Clears the buffer (the unsent buffer, of course).
ResponseRequestContextAddon<R>
resetEverything()
Clears the buffer (the unsent buffer, of course!), resets the cookies,
the headers, the Content-Type
and
sets the status code
back to 200
.
ResponseRequestContextAddon<R>
resetEverything(boolean resetCookies)
Clears the buffer (the unsent buffer, of course),
the headers, the Content-Type
and
sets the status code
back to 200
.
void
sendBytes(byte[] bytes)
Sends some bytes
, without flushing.
void
sendBytes(byte[] bytes,
String contentType)
Sends some bytes
using the specified Content-Type
,
without flushing.
void
sendBytes(byte[] bytes,
String contentType,
boolean flush)
Sends some bytes
using the specified Content-Type
and flushes,
if specified.
void
sendCharacters(String content,
String contentType)
Sends a String, using the encoding returned by getCharactersCharsetName
and
using the specified Content-Type
, without flushing.
void
sendCharacters(String content,
String contentType,
boolean flush)
Sends a String, using the encoding returned by getCharactersCharsetName
and using the specified Content-Type
.
void
sendHtml(String html)
Sends a String as text/html
, UTF-8
encoded, without flushing.
void
sendHtml(String html,
boolean flush)
Sends a String as text/html
, UTF-8
encoded,
and flushes, if specified.
void
sendJson()
Sends the model as application/json
, without flushing.
void
sendJson(boolean flush)
Sends the model as application/json
,
and flushes, if specified.
void
sendJson(Object obj)
Serializes the object to Json
and sends as
application/json
, without flushing.
void
sendJson(Object obj,
boolean flush)
Serializes the object to Json
, sends as application/json
,
and flushes, if specified.
void
sendJson(String jsonString)
Sends a Json
String using the application/json
Content-Type,
without flushing.
void
sendJson(String jsonString,
boolean flush)
Sends a Json
String using the application/json
Content-Type,
and flushes, if specified.
void
sendParse(String content,
String contentType)
Parses the given String using the TemplatingEngine
,
then sends the result using the specified
Content-Type
, without flushing.
void
sendParse(String content,
String contentType,
boolean flush)
Parses the given String using the TemplatingEngine
,
then sends the result using the specified
Content-Type
, and flushes, if specified.
void
sendParseHtml(String html)
Parses the given String using the TemplatingEngine
and
the given parameters, then sends the result as text/html
,
UTF-8
encoded.
void
sendParseHtml(String html,
boolean flush)
Parses the given String using the TemplatingEngine
and
the given parameters, then sends the result as text/html
,
UTF-8
encoded, and flushes, if specified.
void
sendPlainText(String string)
Sends a String as text/plain
, UTF-8
encoded, without flushing.
void
sendPlainText(String string,
boolean flush)
Sends a String as text/plain
, UTF-8
encoded,
and flushes, if specified.
void
sendTemplate(String templatePath,
boolean isClasspathPath,
String contentType)
Finds the specified template using the TemplatingEngine
, evaluates it using
the given parameters, then sends the
result using the given contentType
, without flushing.
void
sendTemplate(String templatePath,
boolean isClasspathPath,
String contentType,
boolean flush)
Finds the specified template using the TemplatingEngine
, evaluates it using
the given parameters, then sends the
result using the given contentType
, and flushes, if specified.
void
sendTemplate(String templatePath,
String contentType)
Finds the specified template using the TemplatingEngine
, evaluates it using
the given parameters, then sends the
result using the given contentType
, without flushing.
void
sendTemplate(String templatePath,
String contentType,
boolean flush)
Finds the specified template using the TemplatingEngine
, evaluates it using
the given parameters, then sends the
result using the given contentType
, and flushes, if specified.
void
sendTemplateHtml(String templatePath)
Finds the HTML
template using the TemplatingEngine
,
evaluates it using the model that have been added to the response, then sends the
result as text/html
, UTF-8
encoded, without flushing.
void
sendTemplateHtml(String templatePath,
boolean isClasspathPath)
Finds the HTML
template using the TemplatingEngine
, evaluates it using
the given parameters, then sends the
result as text/html
, UTF-8
encoded.
void
sendTemplateHtml(String templatePath,
boolean isClasspathPath,
boolean flush)
Finds the HTML
template using the TemplatingEngine
, evaluates it using
the given parameters, then sends the
result as text/html
, UTF-8
encoded, and flushes, if specified.
void
sendXml()
Sends the model as application/xml
,
without flushing.
void
sendXml(boolean flush)
Sends the model as application/xml
,
and flushes, if specified.
void
sendXml(Object obj)
Serializes the object to XML
and sends
as application/xml
, without flushing.
void
sendXml(Object obj,
boolean flush)
Serializes the object to XML
, sends as application/xml
, and flushes, if specified.
void
sendXml(String xml)
Sends some XML
using the application/xml
Content-Type,
without flushing.
void
sendXml(String xml,
boolean flush)
Sends some XML
using the application/xml
Content-Type,
and flushes, if specified.
ResponseRequestContextAddon<R>
setCacheSeconds(int cacheSeconds)
Adds caching headers.
ResponseRequestContextAddon<R>
setCacheSeconds(int cacheSeconds,
boolean isPrivateCache)
Adds caching headers for the specified number
of seconds.
ResponseRequestContextAddon<R>
setCharactersCharsetName(String name)
Sets the charset to use to convert characters to bytes.
ResponseRequestContextAddon<R>
setContentType(String responseContentType)
The Content-Type
header to use for the response.
void
setCookie(Cookie cookie)
Sets a cookie.
void
setCookie(String name,
String value,
int nbrSecondsToLive)
Sets a cookie using the specified name, value
and number of seconds to live.
void
setCookie(String name,
String value,
int nbrSecondsToLive,
boolean httpOnly)
Sets a cookie using the specified name, value,
number of seconds to live and if it's http only.
void
setCookie(String name,
String value,
String path,
String domain,
Date expires,
boolean secure,
boolean httpOnly,
CookieSameSite cookieSameSite,
boolean discard,
int version)
Sets a cookie, using all available configurations.
void
setCookie10years(String name,
String value)
Sets a permanent cookie (10 years) using the specified
name and value.
void
setCookie10yearsSafe(String name,
String value)
Sets a permanent cookie (10 years) using the specified
name and value.
void
setCookie1year(String name,
String value)
Sets a permanent cookie (1 years) using the specified
name and value.
void
setCookie1yearSafe(String name,
String value)
Sets a permanent cookie (1 years) using the specified
name and value.
void
setCookieSession(String name,
String value)
Sets a cookie using the specified name and value.
void
setCookieSessionSafe(String name,
String value)
Sets a cookie using the specified name and value.
ResponseRequestContextAddon<R>
setGzipOption(GzipOption gzipOption)
Enable or disable gzipping of the response.
ResponseRequestContextAddon<R>
setHeader(String name,
List<String> values)
Set multiple values to a response header.
ResponseRequestContextAddon<R>
setHeader(String name,
String value)
Set the value to a response header.
void
setModel(JsonObject model)
Replaces the current response model completely.
ResponseRequestContextAddon<R>
setStatusCode(int statusCode)
Sets the response's status code
to use.
-
-
Method Detail
-
getModel
JsonObject getModel()
The JsonObject
which serves as the model for
the response. This object will be used by the templating
engine or will be sent as is, often as an
application/json
response.
This object is mutable.
-
setModel
void setModel(JsonObject model)
Replaces the current response model completely.
Use getModel()
instead to get the current
model instance and add properties to it.
-
isClosed
boolean isClosed()
Is the response closed? If so, nothing more can be sent...
-
end
void end()
Flushes everything and closes the response.
Nothing more can be sent after this (but the
remaining route handlers
will still
be called).
-
isHeadersSent
boolean isHeadersSent()
Are the response headers sent? If this is the case,
then the headers can't be changed anymore.
-
sendBytes
void sendBytes(byte[] bytes)
Sends some bytes
, without flushing.
-
sendBytes
void sendBytes(byte[] bytes,
String contentType)
Sends some bytes
using the specified Content-Type
,
without flushing.
-
sendBytes
void sendBytes(byte[] bytes,
String contentType,
boolean flush)
Sends some bytes
using the specified Content-Type
and flushes,
if specified.
Note that once the response is flushed, no header can be added or changed anymore.
-
getCharactersCharsetName
String getCharactersCharsetName()
The charset to use to convert characters to bytes.
Defaults to "UTF-8"
.
-
setCharactersCharsetName
ResponseRequestContextAddon<R> setCharactersCharsetName(String name)
Sets the charset to use to convert characters to bytes.
Defaults to "UTF-8"
.
Make sure you use the same charset here
than the one that is sent as the "Content-Type"
header (which
is also "UTF-8"
by default, if you send data using
sendPlainText()
, sendHtml()
or sendJson()
).
-
sendCharacters
void sendCharacters(String content,
String contentType)
Sends a String, using the encoding returned by getCharactersCharsetName
and
using the specified Content-Type
, without flushing.
-
sendCharacters
void sendCharacters(String content,
String contentType,
boolean flush)
Sends a String, using the encoding returned by getCharactersCharsetName
and using the specified Content-Type
. Flushes the response, if specified.
Note that once the response is flushed, no header can be added or changed anymore.
-
sendPlainText
void sendPlainText(String string)
Sends a String as text/plain
, UTF-8
encoded, without flushing.
-
sendPlainText
void sendPlainText(String string,
boolean flush)
Sends a String as text/plain
, UTF-8
encoded,
and flushes, if specified.
Note that once the response is flushed, no header can be added or changed anymore.
-
sendJson
void sendJson()
Sends the model as application/json
, without flushing.
-
sendJson
void sendJson(boolean flush)
Sends the model as application/json
,
and flushes, if specified.
Note that once the response is flushed, no header can be added or changed anymore.
-
sendJson
void sendJson(String jsonString)
Sends a Json
String using the application/json
Content-Type,
without flushing.
Synonym of : sendCharacters(jsonString, "application/json")
-
sendJson
void sendJson(String jsonString,
boolean flush)
Sends a Json
String using the application/json
Content-Type,
and flushes, if specified.
Note that once the response is flushed, no header can be added or changed anymore.
Synonym of : sendCharacters(jsonString, "application/json", flush)
-
sendJson
void sendJson(Object obj)
Serializes the object to Json
and sends as
application/json
, without flushing.
If the specified Object is a String
, it will
be considered as already being JSON
and will be
send as is.
-
sendJson
void sendJson(Object obj,
boolean flush)
Serializes the object to Json
, sends as application/json
,
and flushes, if specified.
Note that once the response is flushed, no header can be added or changed anymore.
If the specified Object is a String
, it will
be considered as already being JSON
and will be
send as is.
-
sendXml
void sendXml()
Sends the model as application/xml
,
without flushing.
-
sendXml
void sendXml(boolean flush)
Sends the model as application/xml
,
and flushes, if specified.
Note that once the response is flushed, no header can be added or changed anymore.
-
sendXml
void sendXml(String xml)
Sends some XML
using the application/xml
Content-Type,
without flushing.
Synonym of : sendCharacters(xml, "application/xml")
-
sendXml
void sendXml(String xml,
boolean flush)
Sends some XML
using the application/xml
Content-Type,
and flushes, if specified.
Note that once the response is flushed, no header can be added or changed anymore.
Synonym of : sendCharacters(xml, "application/xml", flush)
-
sendXml
void sendXml(Object obj)
Serializes the object to XML
and sends
as application/xml
, without flushing.
If the specified Object is a String
, it will
be considered as already being XML
and will be
send as is.
-
sendXml
void sendXml(Object obj,
boolean flush)
Serializes the object to XML
, sends as application/xml
, and flushes, if specified.
Note that once the response is flushed, no header can be added or changed anymore.
If the specified Object is a String
, it will
be considered as already being XML
and will be
send as is.
-
sendHtml
void sendHtml(String html)
Sends a String as text/html
, UTF-8
encoded, without flushing.
-
sendHtml
void sendHtml(String html,
boolean flush)
Sends a String as text/html
, UTF-8
encoded,
and flushes, if specified.
Note that once the response is flushed, no header can be added or changed anymore.
-
sendParse
void sendParse(String content,
String contentType)
Parses the given String using the TemplatingEngine
,
then sends the result using the specified
Content-Type
, without flushing.
-
sendParse
void sendParse(String content,
String contentType,
boolean flush)
Parses the given String using the TemplatingEngine
,
then sends the result using the specified
Content-Type
, and flushes, if specified.
Note that once the response is flushed, no header can be added or changed anymore.
-
sendTemplateHtml
void sendTemplateHtml(String templatePath)
Finds the HTML
template using the TemplatingEngine
,
evaluates it using the model that have been added to the response, then sends the
result as text/html
, UTF-8
encoded, without flushing.
- Parameters:
templatePath
- must be a classpath's relative path.
-
sendTemplateHtml
void sendTemplateHtml(String templatePath,
boolean isClasspathPath)
Finds the HTML
template using the TemplatingEngine
, evaluates it using
the given parameters, then sends the
result as text/html
, UTF-8
encoded.
- Parameters:
isClasspathPath
- if true
, the 'templatePath' is considered as
a classpath's relative path. If false
, it is considered as an absolute file
system path.
-
sendTemplateHtml
void sendTemplateHtml(String templatePath,
boolean isClasspathPath,
boolean flush)
Finds the HTML
template using the TemplatingEngine
, evaluates it using
the given parameters, then sends the
result as text/html
, UTF-8
encoded, and flushes, if specified.
Note that once the response is flushed, no header can be added or changed anymore.
- Parameters:
isClasspathPath
- if true
, the 'templatePath' is considered as
a classpath's relative path. If false
, it is considered as an absolute file
system path.
-
sendTemplate
void sendTemplate(String templatePath,
String contentType)
Finds the specified template using the TemplatingEngine
, evaluates it using
the given parameters, then sends the
result using the given contentType
, without flushing.
- Parameters:
templatePath
- must be a classpath's relative path.
-
sendTemplate
void sendTemplate(String templatePath,
String contentType,
boolean flush)
Finds the specified template using the TemplatingEngine
, evaluates it using
the given parameters, then sends the
result using the given contentType
, and flushes, if specified.
Note that once the response is flushed, no header can be added or changed anymore.
- Parameters:
templatePath
- must be a classpath's relative path.
-
sendTemplate
void sendTemplate(String templatePath,
boolean isClasspathPath,
String contentType)
Finds the specified template using the TemplatingEngine
, evaluates it using
the given parameters, then sends the
result using the given contentType
, without flushing.
- Parameters:
isClasspathPath
- if true
, the 'templatePath' is considered as
a classpath's relative path. If false
, it is considered as an absolute file
system path.
-
sendTemplate
void sendTemplate(String templatePath,
boolean isClasspathPath,
String contentType,
boolean flush)
Finds the specified template using the TemplatingEngine
, evaluates it using
the given parameters, then sends the
result using the given contentType
, and flushes, if specified.
Note that once the response is flushed, no header can be added or changed anymore.
- Parameters:
isClasspathPath
- if true
, the 'templatePath' is considered as
a classpath's relative path. If false
, it is considered as an absolute file
system path.
-
sendParseHtml
void sendParseHtml(String html)
Parses the given String using the TemplatingEngine
and
the given parameters, then sends the result as text/html
,
UTF-8
encoded.
-
sendParseHtml
void sendParseHtml(String html,
boolean flush)
Parses the given String using the TemplatingEngine
and
the given parameters, then sends the result as text/html
,
UTF-8
encoded, and flushes, if specified.
Note that once the response is flushed, no header can be added or changed anymore.
-
flush
void flush()
Flushes the current response. If not already specified,
a default status code
and Content-Type
will be added.
Note that once the response is flushed, no header can be added or changed anymore.
-
flush
void flush(boolean close)
Flushes the current response. If not already specified on the response,
a default status code
and content-type
will be added.
Note that once the response is flushed, no header can be added or changed anymore.
- Parameters:
close
- If true
, the response will be closed and no more data
can be sent. This has the same effect than calling end()
.
-
setStatusCode
ResponseRequestContextAddon<R> setStatusCode(int statusCode)
Sets the response's status code
to use. Uses 200
by default.
Note that this status code
can be changed automatically
if an exception is thrown.
-
getStatusCode
int getStatusCode()
The current status code
sent or to be send.
-
setContentType
ResponseRequestContextAddon<R> setContentType(String responseContentType)
The Content-Type
header to use for the response. Most
sendXXX()
methods will set this automatically.
-
getContentType
String getContentType()
The current Content-Type
sent or to be send.
-
redirect
void redirect()
Sets a temporarily redirection header (302) to the
current page.
This will NOT close the response and will NOT skip the remaining handlers!
Throw a RedirectException
instead if you want to redirect the user
immediately.
-
redirect
void redirect(FlashMessage flashMessage)
Sets a temporarily redirection header (302) to the
current page, with a Flash message to display.
This will NOT close the response and will NOT skip the remaining handlers!
Throw a RedirectException
instead if you want to redirect the user
immediately.
-
redirect
void redirect(FlashMessageLevel flashMessageType,
String flashMessageText)
Sets a temporarily redirection header (302) to the
current page, with a Flash message to display.
This will NOT close the response and will NOT skip the remaining handlers!
Throw a RedirectException
instead if you want to redirect the user
immediately.
-
redirect
void redirect(FlashMessageLevel flashMessageType,
String flashMessageText,
JsonObject flashMessageVariables)
Sets a temporarily redirection header (302) to the
current page, with a Flash message to display.
This will NOT close the response and will NOT skip the remaining handlers!
Throw a RedirectException
instead if you want to redirect the user
immediately.
-
redirect
void redirect(String newUrl)
Sets a temporarily redirection header (302).
This will NOT close the response and will NOT skip the remaining handlers!
Throw a RedirectException
instead if you want to redirect the user
immediately.
-
redirect
void redirect(String newUrl,
FlashMessage flashMessage)
Sets a temporarily redirection header (302),
with a Flash message to display.
This will NOT close the response and will NOT skip the remaining handlers!
Throw a RedirectException
instead if you want to redirect the user
immediately.
- Parameters:
flashMessage
- A Flash Message to pass to the target page.
-
redirect
void redirect(String newUrl,
FlashMessageLevel flashMessageType,
String flashMessageText)
Sets a temporarily redirection header (302),
with a Flash message to display.
This will NOT close the response and will NOT skip the remaining handlers!
Throw a RedirectException
instead if you want to redirect the user
immediately.
- Parameters:
flashMessageType
- The type of a Flash Message to pass to the target page.
flashMessageText
- The text of a Flash Message to pass to the target page.
-
redirect
void redirect(String newUrl,
FlashMessageLevel flashMessageType,
String flashMessageText,
JsonObject flashMessageVariables)
Sets a temporarily redirection header (302),
with a Flash message to display.
This will NOT close the response and will NOT skip the remaining handlers!
Throw a RedirectException
instead if you want to redirect the user
immediately.
- Parameters:
flashMessageType
- The type of a Flash Message to pass to the target page.
flashMessageText
- The text of a Flash Message to pass to the target page.
flashMessageVariables
- The variables of a Flash Message to pass to the target page.
-
redirect
void redirect(String newUrl,
JsonObject flashMessageVariables)
Sets a temporarily redirection header (302),
with a Flash variables.
This will NOT close the response and will NOT skip the remaining handlers!
Throw a RedirectException
instead if you want to redirect the user
immediately.
- Parameters:
flashMessageVariables
- The variables of a Flash Message to pass to the target page.
-
redirect
void redirect(String newUrl,
boolean permanently)
Sets a redirection header.
This will NOT close the response and will NOT skip the remaining handlers!
Throw a RedirectException
instead if you want to redirect the user
immediately.
- Parameters:
permanently
- If true
, a
301
header will be sent. If false
,
302
will be sent.
-
redirect
void redirect(String newUrl,
boolean permanently,
FlashMessage flashMessage)
Sets a redirection header, with a Flash message to display.
This will NOT close the response and will NOT skip the remaining handlers!
Throw a RedirectException
instead if you want to redirect the user
immediately.
- Parameters:
permanently
- If true
, a
301
header will be sent. If false
,
302
will be sent.
flashMessage
- A Flash Message to pass to the target page.
-
redirect
void redirect(String newUrl,
boolean permanently,
FlashMessageLevel flashMessageType,
String flashMessageText)
Sets a redirection header, with a Flash message to display.
This will NOT close the response and will NOT skip the remaining handlers!
Throw a RedirectException
instead if you want to redirect the user
immediately.
- Parameters:
permanently
- If true
, a
301
header will be sent. If false
,
302
will be sent.
flashMessageType
- The type of a Flash Message to pass to the target page.
flashMessageText
- The text of a Flash Message to pass to the target page.
-
redirect
void redirect(String newUrl,
boolean permanently,
FlashMessageLevel flashMessageType,
String flashMessageText,
JsonObject flashMessageVariables)
Sets a redirection header, with a Flash message to display.
This will NOT close the response and will NOT skip the remaining handlers!
Throw a RedirectException
instead if you want to redirect the user
immediately.
- Parameters:
permanently
- If true
, a
301
header will be sent. If false
,
302
will be sent.
flashMessageType
- The type of a Flash Message to pass to the target page.
flashMessageText
- The text of a Flash Message to pass to the target page.
flashMessageVariables
- The variables of a Flash Message to pass to the target page.
-
redirect
void redirect(String newUrl,
int specific3xxCode)
Sets the redirection headers with a specified 3xx
status code.
This will NOT close the response and will NOT skip the remaining handlers!
Throw a RedirectException
instead if you want to redirect the user
immediately.
-
redirect
void redirect(String newUrl,
int specific3xxCode,
FlashMessage flashMessage)
Sets the redirection headers with a specified 3xx
status code,
and a Flash message to display.
This will NOT close the response and will NOT skip the remaining handlers!
Throw a RedirectException
instead if you want to redirect the user
immediately.
- Parameters:
flashMessage
- A Flash Message to pass to the target page.
-
redirect
void redirect(String newUrl,
int specific3xxCode,
FlashMessageLevel flashMessageType,
String flashMessageText)
Sets the redirection headers with a specified 3xx
status code,
and a Flash message to display.
This will NOT close the response and will NOT skip the remaining handlers!
Throw a RedirectException
instead if you want to redirect the user
immediately.
- Parameters:
flashMessageType
- The type of a Flash Message to pass to the target page.
flashMessageText
- The text of a Flash Message to pass to the target page.
-
redirect
void redirect(String newUrl,
int specific3xxCode,
FlashMessageLevel flashMessageType,
String flashMessageText,
JsonObject flashMessageVariables)
Sets the redirection headers with a specified 3xx
status code,
and a Flash message to display.
This will NOT close the response and will NOT skip the remaining handlers!
Throw a RedirectException
instead if you want to redirect the user
immediately.
- Parameters:
flashMessageType
- The type of a Flash Message to pass to the target page.
flashMessageText
- The text of a Flash Message to pass to the target page.
flashMessageVariables
- The variables of a Flash Message to pass to the target page.
-
addHeaderValue
ResponseRequestContextAddon<R> addHeaderValue(String name,
String value)
Adds a value to a response header. If the header already
has values, the new one is added.
If the value is null
, it won't be added.
-
addHeaderValues
ResponseRequestContextAddon<R> addHeaderValues(String name,
List<String> values)
Adds a list of values to a response header. If the header already
has values, the new ones are added.
If the values are null
, nothing will be added.
-
setHeader
ResponseRequestContextAddon<R> setHeader(String name,
String value)
Set the value to a response header. If the header already
exists, its current values are overwritten.
If the value is null
, the header will be
removed (same behavior as removeHeader(String name)
)
-
setHeader
ResponseRequestContextAddon<R> setHeader(String name,
List<String> values)
Set multiple values to a response header. If the header already
exists, its current values are overwritten.
If the lists is null
or empty, the header will be
removed (same behavior as removeHeader(String name)
)
-
removeHeader
ResponseRequestContextAddon<R> removeHeader(String name)
Removes an header by its name.
-
getHeaders
Map<String,List<String>> getHeaders()
The currently set response headers.
The map is mutable! Also the returned implementation is a
TreeMap
with case insensitive keys.
-
getHeader
List<String> getHeader(String name)
The values of a specific response header.
The list is mutable!
The name is case insensitive.
Returns an empty list if the header was not found.
-
getHeaderFirst
String getHeaderFirst(String name)
The first value of a specific header.
The name is case insensitive.
Returns null
if the header is not found.
-
resetBuffer
ResponseRequestContextAddon<R> resetBuffer()
Clears the buffer (the unsent buffer, of course).
-
resetEverything
ResponseRequestContextAddon<R> resetEverything()
Clears the buffer (the unsent buffer, of course!), resets the cookies,
the headers, the Content-Type
and
sets the status code
back to 200
.
-
resetEverything
ResponseRequestContextAddon<R> resetEverything(boolean resetCookies)
Clears the buffer (the unsent buffer, of course),
the headers, the Content-Type
and
sets the status code
back to 200
.
- Parameters:
resetCookies
- if true
, cookies that have been
added on the current response will be reset too.
-
getUnsentBytes
byte[] getUnsentBytes()
Gets the current unsent bytes (AKA the buffer).
-
getUnsentCharacters
String getUnsentCharacters()
Gets the current unsent characters (AKA the buffer), using the
UTF-8
encoding.
-
getUnsentCharacters
String getUnsentCharacters(String encoding)
Gets the current unsent characters (AKA the buffer), using the
specified encoding.
-
setGzipOption
ResponseRequestContextAddon<R> setGzipOption(GzipOption gzipOption)
Enable or disable gzipping of the response.
The default is GzipOption.DEFAULT
which
will gzip the response only for some Content-Types
and only if a gzip 'Accept-Encoding'
header
has been received from the client.
-
getGzipOption
GzipOption getGzipOption()
The currently set gzip options.
-
setCacheSeconds
ResponseRequestContextAddon<R> setCacheSeconds(int cacheSeconds)
Adds caching headers.
- Parameters:
seconds
- the number of seconds this response should be cached.
-
setCacheSeconds
ResponseRequestContextAddon<R> setCacheSeconds(int cacheSeconds,
boolean isPrivateCache)
Adds caching headers for the specified number
of seconds.
Adds caching headers.
- Parameters:
seconds
- the number of seconds this response should be cached.
isPrivateCache
- if true
, the cache will
be flagged as "private".
-
addAlert
void addAlert(AlertLevel level,
String message)
Adds an Alert that is, in general, displayed at the top
of the page to show the user an Error, a Warning or a
confirmation message.
Those alerts are available using the "spincast.alerts"
templating variable. If any, a Flash Messages
is also
added to this variable.
-
getCookiesAdded
Map<String,Cookie> getCookiesAdded()
Gets the cookies already added to the response as a Map,
using their names as the keys.
NOTE : use the RequestRequestContextAddon.getCookiesValues()
from the request()
add-on instead
to get the cookies sent by the user!
-
getCookieAdded
Cookie getCookieAdded(String name)
Gets a cookie already added to the response, by its name.
NOTE : use the RequestRequestContextAddon.getCookieValue(String)
from the request()
add-on instead
to get a cookie sent by the user!
- Returns:
- the cookie or
null
if not found.
-
createCookie
Cookie createCookie(String name)
Creates a cookie using the given name (null
value).
By default, the public host (SpincastConfig.getPublicServerHost()
)
is uses as the cookie's domain
and the cookie is valid for the time
of the session only.
You have to add the cookie using the
setCookie(Cookie)
method after it is
properly created.
-
setCookie
void setCookie(Cookie cookie)
Sets a cookie.
-
setCookieSession
void setCookieSession(String name,
String value)
Sets a cookie using the specified name and value.
By default, the public host (SpincastConfig.getPublicServerHost()
)
is uses as the cookie's domain
and the cookie is valid for the time of the session only.
-
setCookieSessionSafe
void setCookieSessionSafe(String name,
String value)
Sets a cookie using the specified name and value.
The cookie will be "secure", "httpOnly"
and a CookieSameSite
value of CookieSameSite.LAX
.
By default, the public host (SpincastConfig.getPublicServerHost()
)
is uses as the cookie's domain
and the cookie is valid for the time of the session only.
-
setCookie
void setCookie(String name,
String value,
int nbrSecondsToLive)
Sets a cookie using the specified name, value
and number of seconds to live.
By default, the public host (SpincastConfig.getPublicServerHost()
)
is uses as the cookie's domain
.
-
setCookie
void setCookie(String name,
String value,
int nbrSecondsToLive,
boolean httpOnly)
Sets a cookie using the specified name, value,
number of seconds to live and if it's http only.
By default, the public host (SpincastConfig.getPublicServerHost()
)
is uses as the cookie's domain
.
-
setCookie1year
void setCookie1year(String name,
String value)
Sets a permanent cookie (1 years) using the specified
name and value.
By default, the public host (SpincastConfig.getPublicServerHost()
)
is uses as the cookie's domain
.
-
setCookie1yearSafe
void setCookie1yearSafe(String name,
String value)
Sets a permanent cookie (1 years) using the specified
name and value. The cookie will be "secure", "httpOnly"
and a CookieSameSite
value of CookieSameSite.LAX
.
By default, the public host (SpincastConfig.getPublicServerHost()
)
is uses as the cookie's domain
.
-
setCookie10years
void setCookie10years(String name,
String value)
Sets a permanent cookie (10 years) using the specified
name and value.
By default, the public host (SpincastConfig.getPublicServerHost()
)
is uses as the cookie's domain
.
-
setCookie10yearsSafe
void setCookie10yearsSafe(String name,
String value)
Sets a permanent cookie (10 years) using the specified
name and value. The cookie will be "secure", "httpOnly"
and a CookieSameSite
value of CookieSameSite.LAX
.
By default, the public host (SpincastConfig.getPublicServerHost()
)
is uses as the cookie's domain
.
-
setCookie
void setCookie(String name,
String value,
String path,
String domain,
Date expires,
boolean secure,
boolean httpOnly,
CookieSameSite cookieSameSite,
boolean discard,
int version)
Sets a cookie, using all available configurations.
-
deleteCookie
void deleteCookie(String name)
Deletes a cookie. In fact, this sets the cookie's expires date
in the
past so the user's browser will remove it.
isExpired()
will return true
after you called
this method.
-
deleteAllCookiesUserHas
void deleteAllCookiesUserHas()
Deletes all cookies! Not only
the new cookies that have been added to the response, but
also the cookies that have been received in the request!
In fact, this method sets the expires date
of the
cookies in the past so the user's browser will remove them.
-
addForm
void addForm(Form form)
Adds a Form
object to the response's
model and links its validation messages to the
default "validation" root element.
In other words, adding a form will result in those
elements to the response's model :
-
[formName] => the form itself
-
[validation] => validation messages for the form
with keys such as "[formName].something" and
"[formName].somethingElse".
-
addForm
void addForm(Form form,
String validationElementName)
Adds a Form
object to the response's
model and links its validation messages to the
specified validation element.
In other words, adding a form will result in those
elements to the response's model :
-
[formName] => the form itself
-
[validationElementName] => validation messages for the form
with keys such as "[formName].something" and
"[formName].somethingElse".
Copyright © 2019. All rights reserved.