- java.lang.Object
-
- io.helidon.webserver.cors.CrossOriginConfig
-
public class CrossOriginConfig extends Object
Represents information about cross origin request sharing. Applications can obtain a new instance in three ways:- Use a
Builderexplicitly.Obtain a suitable builder by:
- getting a new builder using the static
builder()method, - initializing a builder from an existing
CrossOriginConfiginstance using the staticbuilder(CrossOriginConfig)method, or - initializing a builder from a
Confignode, invokingConfig.as(io.helidon.common.GenericType<T>)usingcorsConfig.as(CrossOriginConfig::builder).get()
buildmethod to create the instance. - getting a new builder using the static
- Invoke the static
create(Config)method, passing a config node containing the cross-origin information to be converted. This is a convenience method equivalent to creating a builder using the config node and then invokingbuild(). - Invoke the static
create()method which returns aCrossOriginConfiginstance which implements the default CORS behavior.
- See Also:
MappedCrossOriginConfig
- Use a
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCrossOriginConfig.BuilderBuilder forCrossOriginConfig.
-
Field Summary
Fields Modifier and Type Field Description static StringACCESS_CONTROL_ALLOW_CREDENTIALSHeader Access-Control-Allow-Credentials.static StringACCESS_CONTROL_ALLOW_HEADERSHeader Access-Control-Allow-Headers.static StringACCESS_CONTROL_ALLOW_METHODSHeader Access-Control-Allow-Methods.static StringACCESS_CONTROL_ALLOW_ORIGINHeader Access-Control-Allow-Origin.static StringACCESS_CONTROL_EXPOSE_HEADERSHeader Access-Control-Expose-Headers.static StringACCESS_CONTROL_MAX_AGEHeader Access-Control-Max-Age.static StringACCESS_CONTROL_REQUEST_HEADERSHeader Access-Control-Request-Headers.static StringACCESS_CONTROL_REQUEST_METHODHeader Access-Control-Request-Method.static StringCORS_PATHS_CONFIG_KEYKey for the node within the CORS config that contains the list of path information.static longDEFAULT_AGEDefault cache expiration in seconds.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanallowCredentials()String[]allowHeaders()String[]allowMethods()String[]allowOrigins()static CrossOriginConfig.Builderbuilder()static CrossOriginConfig.Builderbuilder(Config config)Creates a newCrossOriginConfig.Builderusing the provided config node.static CrossOriginConfig.Builderbuilder(CrossOriginConfig original)Initializes a newCrossOriginConfig.Builderfrom the values in an existingCrossOriginConfigobject.static CrossOriginConfigcreate()Creates a newCrossOriginConfiginstance which represents the default CORS behavior.static CrossOriginConfigcreate(Config corsConfig)Creates a newCrossOriginConfiginstance based on the provided configuration node.String[]exposeHeaders()booleanisEnabled()booleanmatches(String method)Reports whether the specified HTTP method name matches thisCrossOriginConfig.longmaxAgeSeconds()StringpathPattern()StringtoString()
-
-
-
Field Detail
-
CORS_PATHS_CONFIG_KEY
public static final String CORS_PATHS_CONFIG_KEY
Key for the node within the CORS config that contains the list of path information.- See Also:
- Constant Field Values
-
ACCESS_CONTROL_ALLOW_HEADERS
public static final String ACCESS_CONTROL_ALLOW_HEADERS
Header Access-Control-Allow-Headers.- See Also:
- Constant Field Values
-
ACCESS_CONTROL_ALLOW_METHODS
public static final String ACCESS_CONTROL_ALLOW_METHODS
Header Access-Control-Allow-Methods.- See Also:
- Constant Field Values
-
ACCESS_CONTROL_ALLOW_CREDENTIALS
public static final String ACCESS_CONTROL_ALLOW_CREDENTIALS
Header Access-Control-Allow-Credentials.- See Also:
- Constant Field Values
-
ACCESS_CONTROL_MAX_AGE
public static final String ACCESS_CONTROL_MAX_AGE
Header Access-Control-Max-Age.- See Also:
- Constant Field Values
-
ACCESS_CONTROL_EXPOSE_HEADERS
public static final String ACCESS_CONTROL_EXPOSE_HEADERS
Header Access-Control-Expose-Headers.- See Also:
- Constant Field Values
-
ACCESS_CONTROL_ALLOW_ORIGIN
public static final String ACCESS_CONTROL_ALLOW_ORIGIN
Header Access-Control-Allow-Origin.- See Also:
- Constant Field Values
-
ACCESS_CONTROL_REQUEST_HEADERS
public static final String ACCESS_CONTROL_REQUEST_HEADERS
Header Access-Control-Request-Headers.- See Also:
- Constant Field Values
-
ACCESS_CONTROL_REQUEST_METHOD
public static final String ACCESS_CONTROL_REQUEST_METHOD
Header Access-Control-Request-Method.- See Also:
- Constant Field Values
-
DEFAULT_AGE
public static final long DEFAULT_AGE
Default cache expiration in seconds.- See Also:
- Constant Field Values
-
-
Method Detail
-
builder
public static CrossOriginConfig.Builder builder()
- Returns:
- a new builder for basic cross origin config
-
builder
public static CrossOriginConfig.Builder builder(Config config)
Creates a newCrossOriginConfig.Builderusing the provided config node.Although this method is equivalent to
builder().config(config)it conveniently combines those two steps for use as a method reference.- Parameters:
config- node containing cross-origin information- Returns:
- new
CrossOriginConfig.Builderinstance based on the configuration
-
builder
public static CrossOriginConfig.Builder builder(CrossOriginConfig original)
Initializes a newCrossOriginConfig.Builderfrom the values in an existingCrossOriginConfigobject.- Parameters:
original- the existing cross-origin config object- Returns:
- new Builder initialized from the existing object's settings
-
create
public static CrossOriginConfig create()
Creates a newCrossOriginConfiginstance which represents the default CORS behavior.- Returns:
- new default
CrossOriginConfiginstance
-
create
public static CrossOriginConfig create(Config corsConfig)
Creates a newCrossOriginConfiginstance based on the provided configuration node.- Parameters:
corsConfig- node containing CORS information- Returns:
- new
CrossOriginConfigbased on the configuration
-
pathPattern
public String pathPattern()
- Returns:
- the configured path expression; defaults to a "match-everything" pattern
-
isEnabled
public boolean isEnabled()
- Returns:
- whether this cross-origin config is enabled
-
allowOrigins
public String[] allowOrigins()
- Returns:
- the allowed origins
-
allowHeaders
public String[] allowHeaders()
- Returns:
- the allowed headers
-
exposeHeaders
public String[] exposeHeaders()
- Returns:
- headers OK to expose in responses
-
allowMethods
public String[] allowMethods()
- Returns:
- allowed methods
-
allowCredentials
public boolean allowCredentials()
- Returns:
- allowed credentials
-
maxAgeSeconds
public long maxAgeSeconds()
- Returns:
- maximum age
-
matches
public boolean matches(String method)
Reports whether the specified HTTP method name matches thisCrossOriginConfig.- Parameters:
method- HTTP method name to check- Returns:
- true if this
CrossOriginConfigmatches the specified method; false otherwise
-
-