Interface CorsHandlerHelper
-
- All Known Implementing Classes:
CorsHandlerHelperImpl
public interface CorsHandlerHelper
Service that provides useful methods forCorsHandler
implementations.- Since:
- 5.8.2
- See Also:
CorsHandler
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
ALLOW_CREDENTIALS_HEADER
Name of the Access-Control-Allow-Credentials HTTP header.static java.lang.String
ALLOW_HEADERS_HEADER
Name of the Access-Control-Allow-Headers HTTP header.static java.lang.String
ALLOW_METHODS_HEADER
Name of the Access-Control-Allow-Methods HTTP header.static java.lang.String
ALLOW_ORIGIN_HEADER
Name of the Access-Control-Allow-Origin HTTP header.static java.lang.String
EXPOSE_HEADERS_HEADER
Name of the Access-Control-Expose-Headers HTTP header.static java.lang.String
MAX_AGE_HEADER
Name of the Access-Control-Max-Age HTTP header.static java.lang.String
OPTIONS_METHOD
OPTIONS HTTP method name.static java.lang.String
ORIGIN_HEADER
Name of the Origin HTTP header.static java.lang.String
ORIGIN_WILDCARD
The CORS Origin wildcard.static java.lang.String
REQUEST_HEADERS_HEADER
Name of the Access-Control-Request-Headers HTTP header.static java.lang.String
VARY_HEADER
Name of the Vary HTTP header.
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default void
addValueToVaryHeader(HttpServletResponse response, java.lang.String value)
Adds a value to the Vary HTTP header.void
configureAllowedHeaders(HttpServletResponse response, HttpServletRequest request)
Conditionally the Access-Control-Request-Headers HTTP header.void
configureCredentials(HttpServletResponse response)
Conditionally sets the Access-Control-Allow-Credentials HTTP header.void
configureExposeHeaders(HttpServletResponse response)
Conditionally sets the Access-Control-Expose-Headers HTTP header.void
configureMaxAge(HttpServletResponse response)
Conditionally sets the Access-Control-Max-Age HTTP header.void
configureMethods(HttpServletResponse response)
Conditionally sets the Access-Control-Allow-Methods HTTP header in responses to preflight CORS requests.void
configureOrigin(HttpServletResponse response, java.lang.String value)
Sets the Access-Control-Allow-Origin HTTP header with a given value.java.util.Optional<java.lang.String>
getAllowedOrigin(HttpServletRequest request)
Returns the origin of this requests, if it's allowed.java.util.Optional<java.lang.String>
getOrigin(HttpServletRequest request)
Returns the value of the Origin HTTP header.java.lang.String
getPath(HttpServletRequest request)
Returns the requested URL path, using the same logic asRequest.getPath()
.boolean
isPreflight(HttpServletRequest request)
Tells whether this request is a CORS preflight one (i.e.
-
-
-
Field Detail
-
ORIGIN_HEADER
static final java.lang.String ORIGIN_HEADER
Name of the Origin HTTP header.- See Also:
- Constant Field Values
-
ALLOW_ORIGIN_HEADER
static final java.lang.String ALLOW_ORIGIN_HEADER
Name of the Access-Control-Allow-Origin HTTP header.- See Also:
- Constant Field Values
-
ALLOW_CREDENTIALS_HEADER
static final java.lang.String ALLOW_CREDENTIALS_HEADER
Name of the Access-Control-Allow-Credentials HTTP header.- See Also:
- Constant Field Values
-
ALLOW_METHODS_HEADER
static final java.lang.String ALLOW_METHODS_HEADER
Name of the Access-Control-Allow-Methods HTTP header.- See Also:
- Constant Field Values
-
REQUEST_HEADERS_HEADER
static final java.lang.String REQUEST_HEADERS_HEADER
Name of the Access-Control-Request-Headers HTTP header.- See Also:
- Constant Field Values
-
ALLOW_HEADERS_HEADER
static final java.lang.String ALLOW_HEADERS_HEADER
Name of the Access-Control-Allow-Headers HTTP header.- See Also:
- Constant Field Values
-
EXPOSE_HEADERS_HEADER
static final java.lang.String EXPOSE_HEADERS_HEADER
Name of the Access-Control-Expose-Headers HTTP header.- See Also:
- Constant Field Values
-
MAX_AGE_HEADER
static final java.lang.String MAX_AGE_HEADER
Name of the Access-Control-Max-Age HTTP header.- See Also:
- Constant Field Values
-
VARY_HEADER
static final java.lang.String VARY_HEADER
Name of the Vary HTTP header.- See Also:
- Constant Field Values
-
OPTIONS_METHOD
static final java.lang.String OPTIONS_METHOD
OPTIONS HTTP method name.- See Also:
- Constant Field Values
-
ORIGIN_WILDCARD
static final java.lang.String ORIGIN_WILDCARD
The CORS Origin wildcard.- See Also:
- Constant Field Values
-
-
Method Detail
-
getPath
java.lang.String getPath(HttpServletRequest request)
Returns the requested URL path, using the same logic asRequest.getPath()
.- Parameters:
request
- anHttpServletRequest
.- Returns:
- a
String
with the path.
-
getOrigin
java.util.Optional<java.lang.String> getOrigin(HttpServletRequest request)
Returns the value of the Origin HTTP header.- Parameters:
request
- anHttpServletRequest
.- Returns:
- an
Optional
wrapping the Origin HTTP header value.
-
isPreflight
boolean isPreflight(HttpServletRequest request)
Tells whether this request is a CORS preflight one (i.e. HTTP method OPTION and non-empty Origin HTTP header).- Parameters:
request
- anHttpServletRequest
.- Returns:
true
if it's a preflight request,false
otherwise.
-
getAllowedOrigin
java.util.Optional<java.lang.String> getAllowedOrigin(HttpServletRequest request)
Returns the origin of this requests, if it's allowed.- Parameters:
request
- anHttpServletRequest
.- Returns:
- an
Optional
wrapping the allowed origin. - See Also:
TapestryHttpSymbolConstants.CORS_ALLOWED_ORIGINS
-
configureOrigin
void configureOrigin(HttpServletResponse response, java.lang.String value)
Sets the Access-Control-Allow-Origin HTTP header with a given value.- Parameters:
value
- a String.response
- anHttpServletResponse
instance.- See Also:
ALLOW_ORIGIN_HEADER
-
configureCredentials
void configureCredentials(HttpServletResponse response)
Conditionally sets the Access-Control-Allow-Credentials HTTP header. Out-of-the-box, this is done based on theTapestryHttpSymbolConstants.CORS_ALLOW_CREDENTIALS
symbol.- Parameters:
response
- anHttpServletResponse
.- See Also:
TapestryHttpSymbolConstants.CORS_ALLOW_CREDENTIALS
-
configureMethods
void configureMethods(HttpServletResponse response)
Conditionally sets the Access-Control-Allow-Methods HTTP header in responses to preflight CORS requests. Out-of-the-box, the value comes fromTapestryHttpSymbolConstants.CORS_ALLOW_CREDENTIALS
symbol and the header is only set if the value isn't empty.- Parameters:
response
- anHttpServletResponse
.- See Also:
TapestryHttpSymbolConstants.CORS_ALLOW_CREDENTIALS
-
configureAllowedHeaders
void configureAllowedHeaders(HttpServletResponse response, HttpServletRequest request)
Conditionally the Access-Control-Request-Headers HTTP header. Out-of-the-box, the value comes fromTapestryHttpSymbolConstants.CORS_ALLOWED_HEADERS
symbol if not empty. Otherwise, it comes from the value of the same HTTP header from the request, also if not empty. Otherwise, the header isn't set.- Parameters:
response
- anHttpServletResponse
.request
- anHttpServletRequest
.- See Also:
TapestryHttpSymbolConstants.CORS_ALLOWED_HEADERS
-
configureExposeHeaders
void configureExposeHeaders(HttpServletResponse response)
Conditionally sets the Access-Control-Expose-Headers HTTP header. Out-of-the-box, the value comes fromTapestryHttpSymbolConstants.CORS_EXPOSE_HEADERS
symbol, if not empty. Otherwise, the header isn't set.- Parameters:
response
- anHttpServletResponse
.- See Also:
TapestryHttpSymbolConstants.CORS_EXPOSE_HEADERS
-
configureMaxAge
void configureMaxAge(HttpServletResponse response)
Conditionally sets the Access-Control-Max-Age HTTP header. Out-of-the-box, the value comes fromTapestryHttpSymbolConstants.CORS_MAX_AGE
symbol, if not empty. Otherwise, the header isn't set.- Parameters:
response
- anHttpServletResponse
.- See Also:
TapestryHttpSymbolConstants.CORS_MAX_AGE
-
addValueToVaryHeader
default void addValueToVaryHeader(HttpServletResponse response, java.lang.String value)
Adds a value to the Vary HTTP header.- Parameters:
response
- anHttpServletResponse
instance.value
- the value to be added.
-
-