public.javadoc.org.spincast.core.exchange.RequestRequestContextAddon.html Maven / Gradle / Ivy
Show all versions of spincast-website Show documentation
RequestRequestContextAddon (org.spincast:spincast-framework 1.0.0 API)
org.spincast.core.exchange
Interface RequestRequestContextAddon<R extends RequestContext<?>>
-
- All Known Implementing Classes:
- SpincastRequestRequestContextAddon
public interface RequestRequestContextAddon<R extends RequestContext<?>>
Methods related to the current request
.
-
-
Method Summary
All Methods Instance Methods Abstract Methods
Modifier and Type
Method and Description
byte[]
getBodyAsByteArray()
The bytes of the request's body.
InputStream
getBodyAsInputStream()
The raw InputStream of the request's body.
String
getBodyAsString()
The request's body as a String, using the UTF-8
encoding.
String
getContentType()
The Content-Type of the request, if any.
ContentTypeDefaults
getContentTypeBestMatch()
Finds the best Content-Type
to use for a response
using the "Accept"
header of the request.
Map<String,String>
getCookiesValues()
Gets the the request cookies values as a Map,
using the names of the cookies as the keys.
String
getCookieValue(String name)
Gets the value of a request cookie by name.
Date
getDateFromIfModifiedSinceHeader()
Return the value of the If-Modified-Since
header as a Date or null
if it doesn't
exist.
Date
getDateFromIfUnmodifiedSinceHeader()
Return the value of the If-Unmodified-Since
header as a Date or null
if it doesn't
exist.
List<ETag>
getEtagsFromIfMatchHeader()
Returns the ETags
from
the If-Match
header, if any.
List<ETag>
getEtagsFromIfNoneMatchHeader()
Returns the ETags
from
the If-None-Match
header, if any.
FlashMessage
getFlashMessage()
Gets the Flash message, if any.
Form
getForm(String rootKey)
Gets the part of the submitted FORM
body
that is scoped by the specified root key
.
JsonObject
getFormBodyAsJsonObject()
The data submitted as a FORM
body
(in general via a POST
method),
as an immutable JsonObject
.
Map<String,List<String>>
getFormBodyRaw()
The data submitted as a FORM
body
(in general via a POST
method),
as a Map
.
Form
getFormOrCreate(String rootKey)
Gets the part of the submitted FORM
body
that is scoped by the specified root key
.
String
getFullUrl()
Returns the current full URL, including the queryString, if any.
String
getFullUrl(boolean keepCacheBusters)
Returns the current full URL, including the queryString, if any.
String
getFullUrlOriginal()
If the request has been forwarded, this is going to return the original
URL, not the current, forwarded, one.
String
getFullUrlOriginal(boolean keepCacheBusters)
If the request has been forwarded, this is going to return the original
URL, not the current, forwarded, one.
String
getFullUrlProxied()
If a reverse proxy has been used, this URL will contain the
scheme
, host
and port
as forwarded by the reserve proxy, not as seen by the user.
String
getFullUrlProxied(boolean keepCacheBusters)
If a reverse proxy has been used, this URL will contain the
scheme
, host
and port
as forwarded by the reserve proxy, not as seen by the user.
List<String>
getHeader(String name)
Returns the values of the specified header from the current request or
an empty list if not found.
String
getHeaderFirst(String name)
The first value of the specified header from the current request.
Map<String,List<String>>
getHeaders()
Returns all headers of the current request.
HttpMethod
getHttpMethod()
Gets the request's HTTP method
.
String
getIp()
Gets the IP of the current request.
JsonObject
getJsonBody()
The request's body deserialized to an immutable JsonObject
.
<T> T
getJsonBody(Class<T> clazz)
The request's body deserialized to the specified class
.
Map<String,Object>
getJsonBodyAsMap()
The request's body deserialized to a Map<String, Object>
.
Locale
getLocaleBestMatch()
Find the best Locale
to use for a response
using the "Accept-Language"
header of
the request.
String
getPathParam(String name)
A specific value parsed from a dynamic parameter of the route path.
Map<String,String>
getPathParams()
The values parsed from the dynamic parameters of the route path.
String
getQueryString(boolean withQuestionMark)
The queryString of the request.
List<String>
getQueryStringParam(String name)
A specific parameter taken from the queryString of the request.
String
getQueryStringParamFirst(String name)
The first (and often only) value of a specific parameter taken from the
queryString of the request.
Map<String,List<String>>
getQueryStringParams()
The parameters taken from the queryString of the request.
String
getRequestPath()
The path of the request (no querystring).
String
getRequestPath(boolean keepCacheBusters)
The path of the request (no querystring).
String
getStringBody(String encoding)
The request's body as a String, using the specified encoding.
UploadedFile
getUploadedFileFirst(String htmlName)
The uploaded files of the specified HTML's name
attribute.
Map<String,List<UploadedFile>>
getUploadedFiles()
The key of the map if the HTML's name
attribute.
List<UploadedFile>
getUploadedFiles(String htmlName)
The uploaded files of the specified HTML's name
attribute.
<T> T
getXmlBody(Class<T> clazz)
The request's body deserialized to the specified class
.
JsonObject
getXmlBodyAsJsonObject()
The request's body deserialized to an immutable JsonObject
.
Map<String,Object>
getXmlBodyAsMap()
The request's body deserialized to a Map<String, Object>
.
boolean
isCookiesEnabledValidated()
Did we validate that the current user has
cookies enabled?
boolean
isFlashMessageExists()
Is there a Flash message?
boolean
isHTMLShouldBeReturn()
Will return true
if the request specifies
that HTML
is the most appropriate format
to return.
boolean
isHttps()
Is the request a secure HTTPS one?
boolean
isJsonShouldBeReturn()
Will return true
if the request specifies
that Json
is the most appropriate format
to return.
boolean
isPlainTextShouldBeReturn()
Will return true
if the request specifies
that plain-text
is the most appropriate format
to return.
boolean
isXMLShouldBeReturn()
Will return true
if the request specifies
that XML
is the most appropriate format
to return.
-
-
Method Detail
-
getHttpMethod
HttpMethod getHttpMethod()
Gets the request's HTTP method
.
-
getContentTypeBestMatch
ContentTypeDefaults getContentTypeBestMatch()
Finds the best Content-Type
to use for a response
using the "Accept"
header of the request. It will
fallback to ContentTypeDefaults.TEXT
if nothing more specific
is found.
-
isJsonShouldBeReturn
boolean isJsonShouldBeReturn()
Will return true
if the request specifies
that Json
is the most appropriate format
to return.
-
isHTMLShouldBeReturn
boolean isHTMLShouldBeReturn()
Will return true
if the request specifies
that HTML
is the most appropriate format
to return.
-
isXMLShouldBeReturn
boolean isXMLShouldBeReturn()
Will return true
if the request specifies
that XML
is the most appropriate format
to return.
-
isPlainTextShouldBeReturn
boolean isPlainTextShouldBeReturn()
Will return true
if the request specifies
that plain-text
is the most appropriate format
to return.
-
getLocaleBestMatch
Locale getLocaleBestMatch()
Find the best Locale
to use for a response
using the "Accept-Language"
header of
the request.
Returns the default Locale
(taken from the configurations)
if nothing more specific is found.
-
getHeaders
Map<String,List<String>> getHeaders()
Returns all headers of the current request. A single header can have multiple values.
The implementation is a TreeMap
which iscase insensitive for the keys.
The map is immutable.
-
getHeader
List<String> getHeader(String name)
Returns the values of the specified header from the current request or
an empty list if not found.
The name
is case insensitive.
The list is immutable.
-
getHeaderFirst
String getHeaderFirst(String name)
The first value of the specified header from the current request.
The name
is case insensitive.
Returns null
if the header is not found.
-
getContentType
String getContentType()
The Content-Type of the request, if any.
- Returns:
- the
Content-Type
of the request or null
if none was specified.
-
getFullUrl
String getFullUrl()
Returns the current full URL, including the queryString, if any.
Cache buster codes are removed, if there were any.
In case the request has been forwarded, this will be the *new*,
the current URL. Use getFullUrlOriginal()
to get the original URL, before the request was forwarded.
If a reverse proxy has been used, this URL will contain the
scheme
, host
and port
from the
original URL, as seen by the user.
In general, this is what you want to use in your application.
-
getFullUrl
String getFullUrl(boolean keepCacheBusters)
Returns the current full URL, including the queryString, if any.
In case the request has been forwarded, this will be the *new*,
the current URL. Use getFullUrlOriginal()
to get the original URL, before the request was forwarded.
If a reverse proxy has been used, this URL will contain the
scheme
, host
and port
from the
original URL, as seen by the user.
In general, this is what you want to use in your application.
- Parameters:
keepCacheBusters
- if true
, the returned URL will contain
the cache buster codes, if there were any. The default behavior is to
automatically remove them.
-
getFullUrlOriginal
String getFullUrlOriginal()
If the request has been forwarded, this is going to return the original
URL, not the current, forwarded, one.
Cache buster codes are removed, if there were any.
Use getFullUrl()
to get the current, potentially
forwarded URL.
If a reverse proxy has been used, this URL will contain the
scheme
, host
and port
from the
original URL, as seen by the user.
In general, this is what you want to use in your application.
-
getFullUrlOriginal
String getFullUrlOriginal(boolean keepCacheBusters)
If the request has been forwarded, this is going to return the original
URL, not the current, forwarded, one.
Use getFullUrl()
to get the current, potentially
forwarded URL.
If a reverse proxy has been used, this URL will contain the
scheme
, host
and port
from the
original URL, as seen by the user.
In general, this is what you want to use in your application.
- Parameters:
keepCacheBusters
- if true
, the returned URL will contain
the cache buster codes, if there were any. The default behavior is to
automatically remove them.
-
getFullUrlProxied
String getFullUrlProxied()
If a reverse proxy has been used, this URL will contain the
scheme
, host
and port
as forwarded by the reserve proxy, not as seen by the user.
Cache buster codes are removed, if there were any.
If the request has been forwarded, this is going to return the original
URL, not the current, forwarded, one.
In general, you should probably use getFullUrl()
or getFullUrlOriginal()
instead of this
one.
-
getFullUrlProxied
String getFullUrlProxied(boolean keepCacheBusters)
If a reverse proxy has been used, this URL will contain the
scheme
, host
and port
as forwarded by the reserve proxy, not as seen by the user.
Cache buster codes are removed, if there were any.
If the request has been forwarded, this is going to return the original
URL, not the current, forwarded, one.
In general, you should probably use getFullUrl()
or getFullUrlOriginal()
instead of this
one.
- Parameters:
keepCacheBusters
- if true
, the returned URL will contain
the cache buster codes, if there were any. The default behavior is to
automatically remove them.
-
getRequestPath
String getRequestPath()
The path of the request (no querystring).
-
getRequestPath
String getRequestPath(boolean keepCacheBusters)
The path of the request (no querystring).
- Parameters:
keepCacheBusters
- if true
, the returned path will contain
the cache buster codes, if there were any. The default behavior is to
automatically remove them.
-
getPathParams
Map<String,String> getPathParams()
The values parsed from the dynamic parameters of the route path.
The map is immutable.
-
getPathParam
String getPathParam(String name)
A specific value parsed from a dynamic parameter of the route path.
The name
is case sensitive, since you have easy control over it.
-
getQueryString
String getQueryString(boolean withQuestionMark)
The queryString of the request.
Returns an empty String if there is no queryString.
- Parameters:
withQuestionMark
- if true
and the queryString
is not empty, the result will be prefixed with "?".
-
getQueryStringParams
Map<String,List<String>> getQueryStringParams()
The parameters taken from the queryString of the request.
A queryString parameter may have multiple values.
Returns an empty list if there is no queryString.
The map is immutable.
-
getQueryStringParam
List<String> getQueryStringParam(String name)
A specific parameter taken from the queryString of the request.
A queryString parameter may have multiple values.
Returns an empty list if the parameter doesn't exist.
The list is immutable.
-
getQueryStringParamFirst
String getQueryStringParamFirst(String name)
The first (and often only) value of a specific parameter taken from the
queryString of the request.
Returns null
if the parameter doesn't exist.
-
getBodyAsInputStream
InputStream getBodyAsInputStream()
The raw InputStream of the request's body.
Note that once part of the InputStream is read, it can't be read again!
-
getBodyAsByteArray
byte[] getBodyAsByteArray()
The bytes of the request's body.
Note that once part of the InputStream is read, it can't be read again!
-
getBodyAsString
String getBodyAsString()
The request's body as a String, using the UTF-8
encoding.
Note that once part of the InputStream is read, it can't be read again!
-
getStringBody
String getStringBody(String encoding)
The request's body as a String, using the specified encoding.
Note that once part of the InputStream is read, it can't be read again!
-
getJsonBody
JsonObject getJsonBody()
The request's body deserialized to an immutable JsonObject
.
A valid Json
body
is expected.
Note that once part of the InputStream is read, it can't be read again!
-
getJsonBodyAsMap
Map<String,Object> getJsonBodyAsMap()
The request's body deserialized to a Map<String, Object>
. A valid Json
body
is expected.
Note that once part of the InputStream is read, it can't be read again!
-
getJsonBody
<T> T getJsonBody(Class<T> clazz)
The request's body deserialized to the specified class
. A valid Json
body
is expected.
Note that once part of the InputStream is read, it can't be read again!
-
getXmlBodyAsJsonObject
JsonObject getXmlBodyAsJsonObject()
The request's body deserialized to an immutable JsonObject
.
A valid XML
body
is expected.
Note that once part of the InputStream is read, it can't be read again!
-
getXmlBodyAsMap
Map<String,Object> getXmlBodyAsMap()
The request's body deserialized to a Map<String, Object>
. A valid XML
body
is expected.
Note that once part of the InputStream is read, it can't be read again!
-
getXmlBody
<T> T getXmlBody(Class<T> clazz)
The request's body deserialized to the specified class
. A valid XML
body
is expected.
Note that once part of the InputStream is read, it can't be read again!
-
getFormBodyRaw
Map<String,List<String>> getFormBodyRaw()
The data submitted as a FORM
body
(in general via a POST
method),
as a Map
.
The names are case sensitive.
This returns the keys/values as is, without trying to parse
the keys as JsonPaths
.
This returns an immutable object! You won't
be able to add or remove elements.
-
getFormBodyAsJsonObject
JsonObject getFormBodyAsJsonObject()
The data submitted as a FORM
body
(in general via a POST
method),
as an immutable JsonObject
.
The root keys of the field names and are case sensitive.
The root keys will be parsed as JsonPaths
to build the final
JsonObject
. For example : user.books[1].name
will be converted to a "user" JsonObject
with a "books" arrays
with one book at index "1" and this book
has a "name" property.
- Returns:
- an immutable instance of
JsonObject
.
If you want to get a mutable instance, you can call .clone(true)
on this object.
-
getFormOrCreate
Form getFormOrCreate(String rootKey)
Gets the part of the submitted FORM
body
that is scoped by the specified root key
.
When an HTML form is submitted, there may be utility fields
(such as a CSRF token, etc.) in addition to
business logic fields.
By using this getFormOrCreate(String)
you only get the fields which names start with the specified
root key
. For example, if this HTML form was submitted:
<form>
<input type="text" name="csrfToken" value="12345" />
<input type="text" name="myUser.userName" value="Stromgol" />
<input type="text" name="myUser.lastNameName" value="LaPierre" />
...
... then calling getFormWithRootKey("myUser")
would
return a Form
object containing the "userName" and the "userName"
fields, but not the "csrfToken".
A Form
object is in fact a JsonObject
containing the submitted
fields and a ValidationSet
to store validations performed on it.
The same field is returned, everytime this method is called
with the same name
.
If the root key is not found in the POSTed data, an empty
form will be created.
Never returns null
.
The key are case sensitive.
-
getForm
Form getForm(String rootKey)
Gets the part of the submitted FORM
body
that is scoped by the specified root key
.
When an HTML form is submitted, there may be utility fields
(such as a CSRF token, etc.) in addition to
business logic fields.
By using this getFormOrCreate(String)
you only get the fields which names start with the specified
root key
. For example, if this HTML form was submitted:
<form>
<input type="text" name="csrfToken" value="12345" />
<input type="text" name="myUser.userName" value="Stromgol" />
<input type="text" name="myUser.lastNameName" value="LaPierre" />
...
... then calling getFormWithRootKey("myUser")
would
return a Form
object containing the "userName" and the "userName"
fields, but not the "csrfToken".
A Form
object is in fact a JsonObject
containing the submitted
fields and a ValidationSet
to store validations performed on it.
The same field is returned, everytime this method is called
with the same name
.
If the root key is not found in the POSTed data, an empty
form will be created.
The key are case sensitive.
- Returns:
- the form if it exists or
null
otherwise.
-
getUploadedFiles
Map<String,List<UploadedFile>> getUploadedFiles()
The key of the map if the HTML's name
attribute.
More than one uploaded file with the same name is possible.
The map is immutable.
Returns an empty map if there are no uploadded file.
-
getUploadedFiles
List<UploadedFile> getUploadedFiles(String htmlName)
The uploaded files of the specified HTML's name
attribute.
More than one uploaded file with the same name
is possible.
The list is immutable.
Returns an empty list if no uploaded files of this name exists.
-
getUploadedFileFirst
UploadedFile getUploadedFileFirst(String htmlName)
The uploaded files of the specified HTML's name
attribute.
The first (and often only) uploaded file of the specified name.
Returns null
if no uploaded file of this name exists.
-
isHttps
boolean isHttps()
Is the request a secure HTTPS one?
-
getEtagsFromIfNoneMatchHeader
List<ETag> getEtagsFromIfNoneMatchHeader()
Returns the ETags
from
the If-None-Match
header, if any.
- Returns:
- the
If-None-Match
ETags or an empty
list if there is none.
-
getEtagsFromIfMatchHeader
List<ETag> getEtagsFromIfMatchHeader()
Returns the ETags
from
the If-Match
header, if any.
- Returns:
- the
If-Match
ETags or an empty list
if there is none.
-
getDateFromIfModifiedSinceHeader
Date getDateFromIfModifiedSinceHeader()
Return the value of the If-Modified-Since
header as a Date or null
if it doesn't
exist.
-
getDateFromIfUnmodifiedSinceHeader
Date getDateFromIfUnmodifiedSinceHeader()
Return the value of the If-Unmodified-Since
header as a Date or null
if it doesn't
exist.
-
getFlashMessage
FlashMessage getFlashMessage()
Gets the Flash message, if any.
- Returns:
- the Flash message or
null
if there
is none.
-
isFlashMessageExists
boolean isFlashMessageExists()
Is there a Flash message?
-
getCookiesValues
Map<String,String> getCookiesValues()
Gets the the request cookies values as a Map,
using the names of the cookies as the keys.
-
getCookieValue
String getCookieValue(String name)
Gets the value of a request cookie by name.
- Returns:
- the value or
null
if not found.
-
isCookiesEnabledValidated
boolean isCookiesEnabledValidated()
Did we validate that the current user has
cookies enabled?
-
getIp
String getIp()
Gets the IP of the current request.
Copyright © 2019. All rights reserved.