
public.javadoc.org.spincast.plugins.response.SpincastResponseRequestContextAddon.html Maven / Gradle / Ivy
Show all versions of spincast-website Show documentation
SpincastResponseRequestContextAddon (org.spincast:spincast-framework 2.1.1 API)
Package 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
Description
protected static final boolean
protected static final org.slf4j.Logger
Fields inherited from interface org.spincast.core.exchange.ResponseRequestContextAddon
RESOURCE_TO_PUSH_PLACEHOLDERS_CACHE_BUSTER
-
Constructor Summary
Constructors
Constructor
Description
SpincastResponseRequestContextAddon(R requestContext,
Server server,
JsonManager jsonManager,
XmlManager xmlManager,
SpincastConfig spincastConfig,
SpincastUtils spincastUtils,
ETagFactory etagFactory,
FlashMessagesHolder flashMessagesHolder,
FlashMessageFactory flashMessageFactory,
CookieFactory cookieFactory)
-
Method Summary
Modifier and Type
Method
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
protected void
addCookieSafe(String name,
String value,
Integer nbrSecondsToLive)
void
Adds a Form
object to the response's
model and links its validation messages to the
default "validation" root element.
void
Adds a Form
object to the response's
model and links its validation messages to the
specified validation element.
addHeaderValue(String name,
String value)
Adds a value to a response header.
addHeaderValues(String name,
List<String> values)
Adds a list of values to a response header.
protected Alert
createAlert(AlertLevel alertType,
String alertText)
createCookie(String name)
Creates a cookie using the given name (null
value).
void
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
The charset to use to convert characters to bytes.
The current Content-Type
sent or to be send.
getCookieAdded(String name)
Gets a cookie already added to the response, by its name.
protected CookieFactory
Gets the cookies already added to the response as a Map,
using their names as the keys.
protected ETagFactory
protected Object
protected FlashMessageFactory
protected FlashMessagesHolder
The currently set gzip options.
The values of a specific response header.
getHeaderFirst(String name)
The first value of a specific header.
The currently set response headers.
protected JsonManager
getModel()
The JsonObject
which serves as the model for
the response.
protected ByteArrayOutputStream
getOut()
protected R
protected Server
protected SpincastConfig
protected SpincastUtils
int
The current status code
sent or to be send.
byte[]
Gets the current unsent bytes (AKA the buffer).
Gets the current unsent characters (AKA the buffer), using the
UTF-8
encoding.
getUnsentCharacters(String encoding)
Gets the current unsent characters (AKA the buffer), using the
specified encoding.
protected XmlManager
protected boolean
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
Are the response headers sent? If this is the case,
then the headers can't be changed anymore.
protected boolean
protected boolean
Try to determine is the response is characters based or not.
protected boolean
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
Sets a temporarily redirection header (302).
void
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
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,
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,
JsonObject flashMessageVariables)
Sets a temporarily redirection header (302),
with a Flash variables.
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.
removeHeader(String name)
Removes an header by its name.
Clears the buffer (the unsent buffer, of course).
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(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
void
sendBytes(byte[] bytes)
Sends some bytes
, without flushing.
void
Sends some bytes
using the specified Content-Type
,
without flushing.
void
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
Sends a String as text/html
, UTF-8
encoded, without flushing.
void
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
Serializes the object to Json
and sends as
application/json
, without flushing.
void
Serializes the object to Json
, sends as application/json
,
and flushes, if specified.
void
Sends a Json
String using the application/json
Content-Type,
without flushing.
void
Sends a Json
String using the application/json
Content-Type,
and flushes, if specified.
void
Parses the given String using the TemplatingEngine
,
then sends the result using the specified
Content-Type
, without flushing.
void
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
Serializes the object to XML
and sends
as application/xml
, without flushing.
void
Serializes the object to XML
, sends as application/xml
, and flushes, if specified.
void
Sends some XML
using the application/xml
Content-Type,
without flushing.
void
Sends some XML
using the application/xml
Content-Type,
and flushes, if specified.
setCacheSeconds(int cacheSeconds)
Adds caching headers.
setCacheSeconds(int cacheSeconds,
boolean isPrivateCache)
Adds caching headers for the specified number
of seconds.
setCharactersCharsetName(String charactersCharsetName)
Sets the charset to use to convert characters to bytes.
setContentType(String responseContentType)
The Content-Type
header to use for the response.
void
Sets a cookie using the specified name, value
and number of seconds to live.
void
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
Sets a cookie.
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.
setGzipOption(GzipOption gzipOption)
Enable or disable gzipping of the response.
Set the value to a response header.
Set multiple values to a response header.
protected void
setIsShouldGzip(boolean isShouldGzip)
void
setModel(JsonObject model)
Replaces the current response model completely.
protected void
setRequestSizeValidated(boolean requestSizeValidated)
setStatusCode(int responseStatusCode)
Sets the response's status code
to use.
protected String
protected boolean
validateCookie(Cookie cookie)
-
Field Details
-
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:
-
-
Constructor Details
-
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 Details
-
getRequestContext
-
getServer
-
getExchange
-
getJsonManager
-
getXmlManager
-
getSpincastConfig
-
getSpincastUtils
-
getEtagFactory
-
getFlashMessagesHolder
-
getFlashMessageFactory
-
getCookieFactory
-
getBuffer
-
getOut
-
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
-
isRequestSizeValidated
protected boolean isRequestSizeValidated()
-
setRequestSizeValidated
protected void setRequestSizeValidated(boolean requestSizeValidated)
-
setGzipOption
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
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
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
Description copied from interface: ResponseRequestContextAddon
The current Content-Type
sent or to be send.
- Specified by:
getContentType
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
setContentType
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
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
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
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
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
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
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
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
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
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
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
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
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
Send some bytes + flush if specified.
- Specified by:
sendBytes
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
send
-
sendCharacters
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Description copied from interface: ResponseRequestContextAddon
Clears the buffer (the unsent buffer, of course).
- Specified by:
resetBuffer
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
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
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
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
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
Description copied from interface: ResponseRequestContextAddon
Removes an header by its name.
- Specified by:
removeHeader
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
setHeader
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
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
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
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
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
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
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
Description copied from interface: ResponseRequestContextAddon
Adds caching headers.
- Specified by:
setCacheSeconds
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
setCacheSeconds
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
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
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
-
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
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
Description copied from interface: ResponseRequestContextAddon
Sets a cookie.
- Specified by:
setCookie
in interface ResponseRequestContextAddon<R extends RequestContext<?>>
-
setCookieSession
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
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
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
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
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
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
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
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<?>>
-
addCookieSafe
-
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
-
deleteCookie
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
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
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
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
-
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.
-
tweakResourceToPushPath