CorsConfig Class — netty Architecture
Architecture documentation for the CorsConfig class in CorsConfig.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 32cf87ea_fbdf_420e_2858_4a3ba6de34a9["CorsConfig"] 760204a6_d16c_2ba9_0071_9f83a66f4eab["CorsConfig.java"] 32cf87ea_fbdf_420e_2858_4a3ba6de34a9 -->|defined in| 760204a6_d16c_2ba9_0071_9f83a66f4eab 1e854dc9_605e_08a2_5de6_fc1236f06624["CorsConfig()"] 32cf87ea_fbdf_420e_2858_4a3ba6de34a9 -->|method| 1e854dc9_605e_08a2_5de6_fc1236f06624 f15a6724_73ad_d7ce_dc5c_2775f14fd309["isCorsSupportEnabled()"] 32cf87ea_fbdf_420e_2858_4a3ba6de34a9 -->|method| f15a6724_73ad_d7ce_dc5c_2775f14fd309 4728ba5b_0e4a_6e2c_ce3c_050f3f3d07ac["isAnyOriginSupported()"] 32cf87ea_fbdf_420e_2858_4a3ba6de34a9 -->|method| 4728ba5b_0e4a_6e2c_ce3c_050f3f3d07ac 9644385a_05b5_c5bd_f47c_38e0875ec1d8["String()"] 32cf87ea_fbdf_420e_2858_4a3ba6de34a9 -->|method| 9644385a_05b5_c5bd_f47c_38e0875ec1d8 5b9388aa_5c57_3a08_7101_08a0663fbc42["origins()"] 32cf87ea_fbdf_420e_2858_4a3ba6de34a9 -->|method| 5b9388aa_5c57_3a08_7101_08a0663fbc42 0d0c65c9_2998_ae07_a7bf_58eda77937e1["isNullOriginAllowed()"] 32cf87ea_fbdf_420e_2858_4a3ba6de34a9 -->|method| 0d0c65c9_2998_ae07_a7bf_58eda77937e1 bacd6a76_bd55_b5c2_2442_1b84b1ba6569["isPrivateNetworkAllowed()"] 32cf87ea_fbdf_420e_2858_4a3ba6de34a9 -->|method| bacd6a76_bd55_b5c2_2442_1b84b1ba6569 4eb2cfee_c2a7_bce4_398c_252fbf23c4e4["exposedHeaders()"] 32cf87ea_fbdf_420e_2858_4a3ba6de34a9 -->|method| 4eb2cfee_c2a7_bce4_398c_252fbf23c4e4 5479aa92_902f_5d2d_a502_61dbaf5d7f7c["isCredentialsAllowed()"] 32cf87ea_fbdf_420e_2858_4a3ba6de34a9 -->|method| 5479aa92_902f_5d2d_a502_61dbaf5d7f7c b9a5bc8a_11bf_90fd_72e6_c7726650062b["maxAge()"] 32cf87ea_fbdf_420e_2858_4a3ba6de34a9 -->|method| b9a5bc8a_11bf_90fd_72e6_c7726650062b 264b53a9_e0c7_5882_5ddb_16af4f7ca181["allowedRequestMethods()"] 32cf87ea_fbdf_420e_2858_4a3ba6de34a9 -->|method| 264b53a9_e0c7_5882_5ddb_16af4f7ca181 fcbbfcc2_29ac_6227_d725_0a912cdcb5fd["allowedRequestHeaders()"] 32cf87ea_fbdf_420e_2858_4a3ba6de34a9 -->|method| fcbbfcc2_29ac_6227_d725_0a912cdcb5fd 64a4a4ea_e935_0e22_f674_d7766b33f8e6["HttpHeaders()"] 32cf87ea_fbdf_420e_2858_4a3ba6de34a9 -->|method| 64a4a4ea_e935_0e22_f674_d7766b33f8e6
Relationship Graph
Source Code
codec-http/src/main/java/io/netty/handler/codec/http/cors/CorsConfig.java lines 35–455
public final class CorsConfig {
private final Set<String> origins;
private final boolean anyOrigin;
private final boolean enabled;
private final Set<String> exposeHeaders;
private final boolean allowCredentials;
private final long maxAge;
private final Set<HttpMethod> allowedRequestMethods;
private final Set<String> allowedRequestHeaders;
private final boolean allowNullOrigin;
private final Map<CharSequence, Callable<?>> preflightHeaders;
private final boolean shortCircuit;
private final boolean allowPrivateNetwork;
CorsConfig(final CorsConfigBuilder builder) {
origins = new LinkedHashSet<String>(builder.origins);
anyOrigin = builder.anyOrigin;
enabled = builder.enabled;
exposeHeaders = builder.exposeHeaders;
allowCredentials = builder.allowCredentials;
maxAge = builder.maxAge;
allowedRequestMethods = builder.requestMethods;
allowedRequestHeaders = builder.requestHeaders;
allowNullOrigin = builder.allowNullOrigin;
preflightHeaders = builder.preflightHeaders;
shortCircuit = builder.shortCircuit;
allowPrivateNetwork = builder.allowPrivateNetwork;
}
/**
* Determines if support for CORS is enabled.
*
* @return {@code true} if support for CORS is enabled, false otherwise.
*/
public boolean isCorsSupportEnabled() {
return enabled;
}
/**
* Determines whether a wildcard origin, '*', is supported.
*
* @return {@code boolean} true if any origin is allowed.
*/
public boolean isAnyOriginSupported() {
return anyOrigin;
}
/**
* Returns the allowed origin. This can either be a wildcard or an origin value.
*
* @return the value that will be used for the CORS response header 'Access-Control-Allow-Origin'
*/
public String origin() {
return origins.isEmpty() ? "*" : origins.iterator().next();
}
/**
* Returns the set of allowed origins.
*
* @return {@code Set} the allowed origins.
*/
public Set<String> origins() {
return origins;
}
/**
* Web browsers may set the 'Origin' request header to 'null' if a resource is loaded
* from the local file system.
*
* If isNullOriginAllowed is true then the server will response with the wildcard for
* the CORS response header 'Access-Control-Allow-Origin'.
*
* @return {@code true} if a 'null' origin should be supported.
*/
public boolean isNullOriginAllowed() {
return allowNullOrigin;
}
/**
* Web browsers may set the 'Access-Control-Request-Private-Network' request header if a resource is loaded
Source
Frequently Asked Questions
What is the CorsConfig class?
CorsConfig is a class in the netty codebase, defined in codec-http/src/main/java/io/netty/handler/codec/http/cors/CorsConfig.java.
Where is CorsConfig defined?
CorsConfig is defined in codec-http/src/main/java/io/netty/handler/codec/http/cors/CorsConfig.java at line 35.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free