public.javadoc.org.spincast.plugins.response.SpincastResponseRequestContextAddon.html Maven / Gradle / Ivy
Show all versions of spincast-website Show documentation
SpincastResponseRequestContextAddon (org.spincast:spincast-framework 1.13.0 API)
org.spincast.plugins.response
Class SpincastResponseRequestContextAddon<R extends RequestContext<?>>
- java.lang.Object
-
- org.spincast.plugins.response.SpincastResponseRequestContextAddon<R>
-
- All Implemented Interfaces:
- ResponseRequestContextAddon<R>
public class SpincastResponseRequestContextAddon<R extends RequestContext<?>>
extends Object
implements ResponseRequestContextAddon<R>
-
-
Field Summary
Fields
Modifier and Type
Field and Description
protected static boolean
IS_RESPONSE_CHARACTERS_BASED_BY_DEFAULT
protected static org.slf4j.Logger
logger
-
Fields inherited from interface org.spincast.core.exchange.ResponseRequestContextAddon
RESOURCE_TO_PUSH_PLACEHOLDERS_CACHE_BUSTER
-
Constructor Summary
Constructors
Constructor and Description
SpincastResponseRequestContextAddon(R requestContext,
Server server,
JsonManager jsonManager,
XmlManager xmlManager,
SpincastConfig spincastConfig,
SpincastUtils spincastUtils,
ETagFactory etagFactory,
FlashMessagesHolder flashMessagesHolder,
FlashMessageFactory flashMessageFactory,
CookieFactory cookieFactory)
-
Method Summary
All Methods Instance Methods Concrete Methods
Modifier and Type
Method and Description
void
addAlert(AlertLevel alertType,
String alertText)
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.
protected void
addAlertsToModel()
protected void
addCookieSafe(String name,
String value,
Integer nbrSecondsToLive)
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.
protected Alert
createAlert(AlertLevel alertType,
String alertText)
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.
protected ByteArrayOutputStream
getBuffer()
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.
protected CookieFactory
getCookieFactory()
Map<String,Cookie>
getCookiesAdded()
Gets the cookies already added to the response as a Map,
using their names as the keys.
protected ETagFactory
getEtagFactory()
protected Object
getExchange()
protected FlashMessageFactory
getFlashMessageFactory()
protected FlashMessagesHolder
getFlashMessagesHolder()
GZIPOutputStream
getGzipBuffer()
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.
protected JsonManager
getJsonManager()
JsonObject
getModel()
The JsonObject
which serves as the model for
the response.
protected ByteArrayOutputStream
getOut()
protected R
getRequestContext()
Set<ResourceToPush>
getResourcesToPush()
protected Server
getServer()
protected SpincastConfig
getSpincastConfig()
protected SpincastUtils
getSpincastUtils()
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.
protected XmlManager
getXmlManager()
protected boolean
isAddAlertsToModel()
Should Alert messages (and therefore Flash message)
be added to the model when sending this one as Json or XML?
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.
protected boolean
isRequestSizeValidated()
protected boolean
isResponseCharactersBased()
Try to determine is the response is characters based or not.
protected boolean
isShouldGzip()
ResponseRequestContextAddon<R>
push(HttpMethod httpMethod,
String path,
Map<String,List<String>> requestHeaders)
If HTTP/2
is used, you can push extra resources
at the same time you response to a request.
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
.
protected String
saveFlashMessage(String url,
FlashMessage flashMessage)
Saves a Flash message.
protected void
send(byte[] bytes,
String contentType,
boolean flush)
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)
Send some bytes + flush 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 string,
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 charactersCharsetName)
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.
protected void
setIsShouldGzip(boolean isShouldGzip)
void
setModel(JsonObject model)
Replaces the current response model completely.
protected void
setRequestSizeValidated(boolean requestSizeValidated)
ResponseRequestContextAddon<R>
setStatusCode(int responseStatusCode)
Sets the response's status code
to use.
protected String
tweakResourceToPushPath(String path)
protected boolean
validateCookie(Cookie cookie)
-
-
Field Detail
-
logger
protected static final org.slf4j.Logger logger
-
IS_RESPONSE_CHARACTERS_BASED_BY_DEFAULT
protected static final boolean IS_RESPONSE_CHARACTERS_BASED_BY_DEFAULT
- See Also:
- Constant Field Values
-
Constructor Detail
-
SpincastResponseRequestContextAddon
@Inject
public SpincastResponseRequestContextAddon(R requestContext,
Server server,
JsonManager jsonManager,
XmlManager xmlManager,
SpincastConfig spincastConfig,
SpincastUtils spincastUtils,
ETagFactory etagFactory,
FlashMessagesHolder flashMessagesHolder,
FlashMessageFactory flashMessageFactory,
CookieFactory cookieFactory)
-
Method Detail
-
getRequestContext
protected R getRequestContext()
-
getServer
protected Server getServer()
-
getExchange
protected Object getExchange()
-
getJsonManager
protected JsonManager getJsonManager()
-
getXmlManager
protected XmlManager getXmlManager()
-
getSpincastConfig
protected SpincastConfig getSpincastConfig()
-
getSpincastUtils
protected SpincastUtils getSpincastUtils()
-
getEtagFactory
protected ETagFactory getEtagFactory()
-
getFlashMessagesHolder
protected FlashMessagesHolder getFlashMessagesHolder()
-
getFlashMessageFactory
protected FlashMessageFactory getFlashMessageFactory()
-
getCookieFactory
protected CookieFactory getCookieFactory()
-
getBuffer
protected ByteArrayOutputStream getBuffer()
-
getOut
protected ByteArrayOutputStream getOut()
-
getModel
public JsonObject getModel()
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
getModel
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
getGzipBuffer
public GZIPOutputStream getGzipBuffer()
-
isRequestSizeValidated
protected boolean isRequestSizeValidated()
-
setRequestSizeValidated
protected void setRequestSizeValidated(boolean requestSizeValidated)
-
setGzipOption
public ResponseRequestContextAddon<R> setGzipOption(GzipOption gzipOption)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
setGzipOption
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
getGzipOption
public GzipOption getGzipOption()
Description copied from interface: ResponseRequestContextAddon
The currently set gzip options.
- Specified by:
getGzipOption
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
getStatusCode
public int getStatusCode()
Description copied from interface: ResponseRequestContextAddon
The current status code
sent or to be send.
- Specified by:
getStatusCode
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
setStatusCode
public ResponseRequestContextAddon<R> setStatusCode(int responseStatusCode)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
setStatusCode
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
getContentType
public String getContentType()
Description copied from interface: ResponseRequestContextAddon
The current Content-Type
sent or to be send.
- Specified by:
getContentType
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
setContentType
public ResponseRequestContextAddon<R> setContentType(String responseContentType)
Description copied from interface: ResponseRequestContextAddon
The Content-Type
header to use for the response. Most
sendXXX()
methods will set this automatically.
- Specified by:
setContentType
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
isResponseCharactersBased
protected boolean isResponseCharactersBased()
Try to determine is the response is characters based or not.
This is allow us to use a default Content-Type header if none
was specified.
-
isClosed
public boolean isClosed()
Description copied from interface: ResponseRequestContextAddon
Is the response closed? If so, nothing more can be sent...
- Specified by:
isClosed
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
redirect
public void redirect()
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
redirect
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
redirect
public void redirect(FlashMessage flashMessage)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
redirect
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
redirect
public void redirect(FlashMessageLevel flashMessageType,
String flashMessageText)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
redirect
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
redirect
public void redirect(FlashMessageLevel flashMessageType,
String flashMessageText,
JsonObject flashMessageVariables)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
redirect
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
redirect
public void redirect(String newUrl)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
redirect
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
redirect
public void redirect(String newUrl,
FlashMessage flashMessage)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
redirect
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
flashMessage
- A Flash Message to pass to the target page.
-
redirect
public void redirect(String newUrl,
FlashMessageLevel flashMessageType,
String flashMessageText)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
redirect
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
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
public void redirect(String newUrl,
FlashMessageLevel flashMessageType,
String flashMessageText,
JsonObject flashMessageVariables)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
redirect
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
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
public void redirect(String newUrl,
JsonObject flashMessageVariables)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
redirect
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
flashMessageVariables
- The variables of a Flash Message to pass to the target page.
-
redirect
public void redirect(String newUrl,
boolean permanently)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
redirect
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
permanently
- If true
, a
301
header will be sent. If false
,
302
will be sent.
-
redirect
public void redirect(String newUrl,
boolean permanently,
FlashMessage flashMessage)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
redirect
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
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
public void redirect(String newUrl,
boolean permanently,
FlashMessageLevel flashMessageType,
String flashMessageText)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
redirect
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
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
public void redirect(String newUrl,
boolean permanently,
FlashMessageLevel flashMessageType,
String flashMessageText,
JsonObject flashMessageVariables)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
redirect
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
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
public void redirect(String newUrl,
int specific3xxCode)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
redirect
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
redirect
public void redirect(String newUrl,
int specific3xxCode,
FlashMessageLevel flashMessageType,
String flashMessageText)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
redirect
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
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
public void redirect(String newUrl,
int specific3xxCode,
FlashMessageLevel flashMessageType,
String flashMessageText,
JsonObject flashMessageVariables)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
redirect
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
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
public void redirect(String newUrl,
int specific3xxCode,
FlashMessage flashMessage)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
redirect
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
flashMessage
- A Flash Message to pass to the target page.
-
saveFlashMessage
protected String saveFlashMessage(String url,
FlashMessage flashMessage)
Saves a Flash message.
Returned a modified version of the final URL to redirect to,
if required.
-
sendBytes
public void sendBytes(byte[] bytes)
Description copied from interface: ResponseRequestContextAddon
Sends some bytes
, without flushing.
- Specified by:
sendBytes
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
sendBytes
public void sendBytes(byte[] bytes,
String contentType)
Description copied from interface: ResponseRequestContextAddon
Sends some bytes
using the specified Content-Type
,
without flushing.
- Specified by:
sendBytes
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
sendBytes
public void sendBytes(byte[] bytes,
String contentType,
boolean flush)
Send some bytes + flush if specified.
- Specified by:
sendBytes
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
send
protected void send(byte[] bytes,
String contentType,
boolean flush)
-
sendCharacters
public void sendCharacters(String content,
String contentType)
Description copied from interface: ResponseRequestContextAddon
Sends a String, using the encoding returned by getCharactersCharsetName
and
using the specified Content-Type
, without flushing.
- Specified by:
sendCharacters
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
sendCharacters
public void sendCharacters(String content,
String contentType,
boolean flush)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
sendCharacters
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
getCharactersCharsetName
public String getCharactersCharsetName()
Description copied from interface: ResponseRequestContextAddon
The charset to use to convert characters to bytes.
Defaults to "UTF-8"
.
- Specified by:
getCharactersCharsetName
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
setCharactersCharsetName
public ResponseRequestContextAddon<R> setCharactersCharsetName(String charactersCharsetName)
Description copied from interface: ResponseRequestContextAddon
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()
).
- Specified by:
setCharactersCharsetName
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
sendPlainText
public void sendPlainText(String string)
Description copied from interface: ResponseRequestContextAddon
Sends a String as text/plain
, UTF-8
encoded, without flushing.
- Specified by:
sendPlainText
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
sendPlainText
public void sendPlainText(String string,
boolean flush)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
sendPlainText
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
sendHtml
public void sendHtml(String html)
Description copied from interface: ResponseRequestContextAddon
Sends a String as text/html
, UTF-8
encoded, without flushing.
- Specified by:
sendHtml
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
sendHtml
public void sendHtml(String string,
boolean flush)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
sendHtml
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
sendParseHtml
public void sendParseHtml(String html)
Description copied from interface: ResponseRequestContextAddon
Parses the given String using the TemplatingEngine
and
the given parameters, then sends the result as text/html
,
UTF-8
encoded.
- Specified by:
sendParseHtml
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
sendParseHtml
public void sendParseHtml(String html,
boolean flush)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
sendParseHtml
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
sendParse
public void sendParse(String content,
String contentType)
Description copied from interface: ResponseRequestContextAddon
Parses the given String using the TemplatingEngine
,
then sends the result using the specified
Content-Type
, without flushing.
- Specified by:
sendParse
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
sendParse
public void sendParse(String content,
String contentType,
boolean flush)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
sendParse
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
sendTemplateHtml
public void sendTemplateHtml(String templatePath)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
sendTemplateHtml
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
- Parameters:
templatePath
- must be a classpath's relative path.
-
sendTemplateHtml
public void sendTemplateHtml(String templatePath,
boolean isClasspathPath)
Description copied from interface: ResponseRequestContextAddon
Finds the HTML
template using the TemplatingEngine
, evaluates it using
the given parameters, then sends the
result as text/html
, UTF-8
encoded.
- Specified by:
sendTemplateHtml
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
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
public void sendTemplateHtml(String templatePath,
boolean isClasspathPath,
boolean flush)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
sendTemplateHtml
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
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
public void sendTemplate(String templatePath,
String contentType)
Description copied from interface: ResponseRequestContextAddon
Finds the specified template using the TemplatingEngine
, evaluates it using
the given parameters, then sends the
result using the given contentType
, without flushing.
- Specified by:
sendTemplate
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
- Parameters:
templatePath
- must be a classpath's relative path.
-
sendTemplate
public void sendTemplate(String templatePath,
String contentType,
boolean flush)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
sendTemplate
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
- Parameters:
templatePath
- must be a classpath's relative path.
-
sendTemplate
public void sendTemplate(String templatePath,
boolean isClasspathPath,
String contentType)
Description copied from interface: ResponseRequestContextAddon
Finds the specified template using the TemplatingEngine
, evaluates it using
the given parameters, then sends the
result using the given contentType
, without flushing.
- Specified by:
sendTemplate
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
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
public void sendTemplate(String templatePath,
boolean isClasspathPath,
String contentType,
boolean flush)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
sendTemplate
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
isClasspathPath
- if true
, the 'templatePath' is considered as
a classpath's relative path. If false
, it is considered as an absolute file
system path.
-
sendJson
public void sendJson()
Description copied from interface: ResponseRequestContextAddon
Sends the model as application/json
, without flushing.
- Specified by:
sendJson
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
sendJson
public void sendJson(boolean flush)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
sendJson
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
sendJson
public void sendJson(String jsonString)
Description copied from interface: ResponseRequestContextAddon
Sends a Json
String using the application/json
Content-Type,
without flushing.
Synonym of : sendCharacters(jsonString, "application/json")
- Specified by:
sendJson
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
sendJson
public void sendJson(String jsonString,
boolean flush)
Description copied from interface: ResponseRequestContextAddon
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)
- Specified by:
sendJson
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
sendJson
public void sendJson(Object obj)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
sendJson
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
sendJson
public void sendJson(Object obj,
boolean flush)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
sendJson
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
sendXml
public void sendXml()
Description copied from interface: ResponseRequestContextAddon
Sends the model as application/xml
,
without flushing.
- Specified by:
sendXml
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
sendXml
public void sendXml(boolean flush)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
sendXml
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
sendXml
public void sendXml(String xml)
Description copied from interface: ResponseRequestContextAddon
Sends some XML
using the application/xml
Content-Type,
without flushing.
Synonym of : sendCharacters(xml, "application/xml")
- Specified by:
sendXml
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
sendXml
public void sendXml(String xml,
boolean flush)
Description copied from interface: ResponseRequestContextAddon
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)
- Specified by:
sendXml
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
sendXml
public void sendXml(Object obj)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
sendXml
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
sendXml
public void sendXml(Object obj,
boolean flush)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
sendXml
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
addAlertsToModel
protected void addAlertsToModel()
-
isAddAlertsToModel
protected boolean isAddAlertsToModel()
Should Alert messages (and therefore Flash message)
be added to the model when sending this one as Json or XML?
-
resetBuffer
public ResponseRequestContextAddon<R> resetBuffer()
Description copied from interface: ResponseRequestContextAddon
Clears the buffer (the unsent buffer, of course).
- Specified by:
resetBuffer
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
resetEverything
public ResponseRequestContextAddon<R> resetEverything()
Description copied from interface: ResponseRequestContextAddon
Clears the buffer (the unsent buffer, of course!), resets the cookies,
the headers, the Content-Type
and
sets the status code
back to 200
.
- Specified by:
resetEverything
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
resetEverything
public ResponseRequestContextAddon<R> resetEverything(boolean resetCookies)
Description copied from interface: ResponseRequestContextAddon
Clears the buffer (the unsent buffer, of course),
the headers, the Content-Type
and
sets the status code
back to 200
.
- Specified by:
resetEverything
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
- Parameters:
resetCookies
- if true
, cookies that have been
added on the current response will be reset too.
-
getUnsentBytes
public byte[] getUnsentBytes()
Description copied from interface: ResponseRequestContextAddon
Gets the current unsent bytes (AKA the buffer).
- Specified by:
getUnsentBytes
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
getUnsentCharacters
public String getUnsentCharacters()
Description copied from interface: ResponseRequestContextAddon
Gets the current unsent characters (AKA the buffer), using the
UTF-8
encoding.
- Specified by:
getUnsentCharacters
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
getUnsentCharacters
public String getUnsentCharacters(String encoding)
Description copied from interface: ResponseRequestContextAddon
Gets the current unsent characters (AKA the buffer), using the
specified encoding.
- Specified by:
getUnsentCharacters
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
removeHeader
public ResponseRequestContextAddon<R> removeHeader(String name)
Description copied from interface: ResponseRequestContextAddon
Removes an header by its name.
- Specified by:
removeHeader
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
setHeader
public ResponseRequestContextAddon<R> setHeader(String name,
String value)
Description copied from interface: ResponseRequestContextAddon
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)
)
- Specified by:
setHeader
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
setHeader
public ResponseRequestContextAddon<R> setHeader(String name,
List<String> values)
Description copied from interface: ResponseRequestContextAddon
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)
)
- Specified by:
setHeader
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
addHeaderValue
public ResponseRequestContextAddon<R> addHeaderValue(String name,
String value)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
addHeaderValue
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
addHeaderValues
public ResponseRequestContextAddon<R> addHeaderValues(String name,
List<String> values)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
addHeaderValues
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
getHeaders
public Map<String,List<String>> getHeaders()
Description copied from interface: ResponseRequestContextAddon
The currently set response headers.
The map is mutable! Also the returned implementation is a
TreeMap
with case insensitive keys.
- Specified by:
getHeaders
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
getHeader
public List<String> getHeader(String name)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
getHeader
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
getHeaderFirst
public String getHeaderFirst(String name)
Description copied from interface: ResponseRequestContextAddon
The first value of a specific header.
The name is case insensitive.
Returns null
if the header is not found.
- Specified by:
getHeaderFirst
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
isHeadersSent
public boolean isHeadersSent()
Description copied from interface: ResponseRequestContextAddon
Are the response headers sent? If this is the case,
then the headers can't be changed anymore.
- Specified by:
isHeadersSent
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
setIsShouldGzip
protected void setIsShouldGzip(boolean isShouldGzip)
-
isShouldGzip
protected boolean isShouldGzip()
-
end
public void end()
Description copied from interface: ResponseRequestContextAddon
Flushes everything and closes the response.
Nothing more can be sent after this (but the
remaining route handlers
will still
be called).
- Specified by:
end
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
flush
public void flush()
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
flush
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
flush
public void flush(boolean close)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
flush
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
- Parameters:
close
- If true
, the response will be closed and no more data
can be sent. This has the same effect than calling ResponseRequestContextAddon.end()
.
-
setCacheSeconds
public ResponseRequestContextAddon<R> setCacheSeconds(int cacheSeconds)
Description copied from interface: ResponseRequestContextAddon
Adds caching headers.
- Specified by:
setCacheSeconds
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
setCacheSeconds
public ResponseRequestContextAddon<R> setCacheSeconds(int cacheSeconds,
boolean isPrivateCache)
Description copied from interface: ResponseRequestContextAddon
Adds caching headers for the specified number
of seconds.
Adds caching headers.
- Specified by:
setCacheSeconds
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
isPrivateCache
- if true
, the cache will
be flagged as "private".
-
setModel
public void setModel(JsonObject model)
Description copied from interface: ResponseRequestContextAddon
Replaces the current response model completely.
Use ResponseRequestContextAddon.getModel()
instead to get the current
model instance and add properties to it.
- Specified by:
setModel
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
addAlert
public void addAlert(AlertLevel alertType,
String alertText)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
addAlert
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
createAlert
protected Alert createAlert(AlertLevel alertType,
String alertText)
-
getCookiesAdded
public Map<String,Cookie> getCookiesAdded()
Description copied from interface: ResponseRequestContextAddon
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!
- Specified by:
getCookiesAdded
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
getCookieAdded
public Cookie getCookieAdded(String name)
Description copied from interface: ResponseRequestContextAddon
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!
- Specified by:
getCookieAdded
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
- Returns:
- the cookie or
null
if not found.
-
setCookie
public void setCookie(Cookie cookie)
Description copied from interface: ResponseRequestContextAddon
Sets a cookie.
- Specified by:
setCookie
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
setCookieSession
public void setCookieSession(String name,
String value)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
setCookieSession
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
setCookieSessionSafe
public void setCookieSessionSafe(String name,
String value)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
setCookieSessionSafe
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
setCookie1year
public void setCookie1year(String name,
String value)
Description copied from interface: ResponseRequestContextAddon
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
.
- Specified by:
setCookie1year
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
setCookie1yearSafe
public void setCookie1yearSafe(String name,
String value)
Description copied from interface: ResponseRequestContextAddon
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
.
- Specified by:
setCookie1yearSafe
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
setCookie10years
public void setCookie10years(String name,
String value)
Description copied from interface: ResponseRequestContextAddon
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
.
- Specified by:
setCookie10years
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
setCookie10yearsSafe
public void setCookie10yearsSafe(String name,
String value)
Description copied from interface: ResponseRequestContextAddon
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
.
- Specified by:
setCookie10yearsSafe
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
setCookie
public void setCookie(String name,
String value,
int nbrSecondsToLive)
Description copied from interface: ResponseRequestContextAddon
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
.
- Specified by:
setCookie
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
setCookie
public void setCookie(String name,
String value,
int nbrSecondsToLive,
boolean httpOnly)
Description copied from interface: ResponseRequestContextAddon
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
.
- Specified by:
setCookie
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
setCookie
public void setCookie(String name,
String value,
String path,
String domain,
Date expires,
boolean secure,
boolean httpOnly,
CookieSameSite cookieSameSite,
boolean discard,
int version)
Description copied from interface: ResponseRequestContextAddon
Sets a cookie, using all available configurations.
- Specified by:
setCookie
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
validateCookie
protected boolean validateCookie(Cookie cookie)
-
deleteCookie
public void deleteCookie(String name)
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
deleteCookie
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
deleteAllCookiesUserHas
public void deleteAllCookiesUserHas()
Description copied from interface: ResponseRequestContextAddon
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.
- Specified by:
deleteAllCookiesUserHas
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
createCookie
public Cookie createCookie(String name)
Description copied from interface: ResponseRequestContextAddon
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
ResponseRequestContextAddon.setCookie(Cookie)
method after it is
properly created.
- Specified by:
createCookie
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
addForm
public void addForm(Form form)
Description copied from interface: ResponseRequestContextAddon
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".
- Specified by:
addForm
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
addForm
public void addForm(Form form,
String validationElementName)
Description copied from interface: ResponseRequestContextAddon
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".
- Specified by:
addForm
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
getResourcesToPush
public Set<ResourceToPush> getResourcesToPush()
-
push
public ResponseRequestContextAddon<R> push(HttpMethod httpMethod,
String path,
Map<String,List<String>> requestHeaders)
Description copied from interface: ResponseRequestContextAddon
If HTTP/2
is used, you can push extra resources
at the same time you response to a request.
If the embedded server deals with a HTTTP/2 request,
it will push the extra resources by itself. If it
deals with an HTTP/1.X request (for example if it
is behind a reverse-proxy) it will send Link
headers to the potential proxy in front of it and it
is the proxy that will be in charge of doing the actual push.
Beware that pushing resources does not always result in
an increase of performance and may lead to wasted bandwidth
(the client may decide to not use those pushed resources).
- Specified by:
push
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
path
- The absolute path to the resource to push, starting
with "/" (or it will be added). No scheme, host, port
but may contain a querystring.
requestHeaders
- The headers for requesting the resource. May be null
.
Those headers will only be used if the embedded server pushes the
resources by itself. If it is behind a reverse-proxy and ask this
proxy to push the resources, those headers won't be used but
a "as="
attribute may be added to help the proxy serve the proper content-type.
Copyright © 2019. All rights reserved.