/*
* oxAuth is available under the MIT License (2008). See http://opensource.org/licenses/MIT for full text.
*
* Copyright (c) 2014, Gluu
*/
package org.xdi.oxauth.model.configuration;
import org.apache.commons.lang.StringUtils;
/**
* @author Javier Rojas Blum
* @version February 15, 2017
*/
public class CorsConfigurationFilter {
private String filterName;
private String corsAllowedOrigins;
private String corsAllowedMethods;
private String corsAllowedHeaders;
private String corsExposedHeaders;
private Boolean corsSupportCredentials;
private Boolean corsLoggingEnabled;
private Integer corsPreflightMaxAge;
private Boolean corsRequestDecorate;
public static final String DEFAULT_CORS_ALLOWED_ORIGINS = "*";
public static final String DEFAULT_CORS_ALLOWED_METHODS = "GET,POST,HEAD,OPTIONS";
public static final String DEFAULT_CORS_ALLOWED_HEADERS = "Origin,Accept,X-Requested-With,Content-Type,Access-Control-Request-Method,Access-Control-Request-Headers";
public static final String DEFAULT_CORS_EXPOSED_HEADERS = "";
public static final Boolean DEFAULT_CORS_SUPPORT_CREDENTIALS = true;
public static final Boolean DEFAULT_CORS_LOGGING_ENABLED = false;
public static final Integer DEFAULT_CORS_PREFLIGHT_MAX_AGE = 1800;
public static final Boolean DEFAULT_CORS_REQUEST_DECORATE = true;
public String getFilterName() {
return filterName;
}
public void setFilterName(String filterName) {
this.filterName = filterName;
}
public String getCorsAllowedOrigins() {
if (StringUtils.isEmpty(corsAllowedOrigins)) {
corsAllowedOrigins = DEFAULT_CORS_ALLOWED_ORIGINS;
}
return corsAllowedOrigins;
}
public void setCorsAllowedOrigins(String corsAllowedOrigins) {
this.corsAllowedOrigins = corsAllowedOrigins;
}
public String getCorsAllowedMethods() {
if (StringUtils.isEmpty(corsAllowedMethods)) {
corsAllowedMethods = DEFAULT_CORS_ALLOWED_METHODS;
}
return corsAllowedMethods;
}
public void setCorsAllowedMethods(String corsAllowedMethods) {
this.corsAllowedMethods = corsAllowedMethods;
}
public String getCorsAllowedHeaders() {
if (StringUtils.isEmpty(corsAllowedHeaders)) {
corsAllowedHeaders = DEFAULT_CORS_ALLOWED_HEADERS;
}
return corsAllowedHeaders;
}
public void setCorsAllowedHeaders(String corsAllowedHeaders) {
this.corsAllowedHeaders = corsAllowedHeaders;
}
public String getCorsExposedHeaders() {
if (StringUtils.isEmpty(corsExposedHeaders)) {
corsExposedHeaders = DEFAULT_CORS_EXPOSED_HEADERS;
}
return corsExposedHeaders;
}
public void setCorsExposedHeaders(String corsExposedHeaders) {
this.corsExposedHeaders = corsExposedHeaders;
}
public Boolean getCorsSupportCredentials() {
if (corsSupportCredentials == null) {
corsSupportCredentials = DEFAULT_CORS_SUPPORT_CREDENTIALS;
}
return corsSupportCredentials;
}
public void setCorsSupportCredentials(Boolean corsSupportCredentials) {
this.corsSupportCredentials = corsSupportCredentials;
}
public Boolean getCorsLoggingEnabled() {
if (corsLoggingEnabled == null) {
corsLoggingEnabled = DEFAULT_CORS_LOGGING_ENABLED;
}
return corsLoggingEnabled;
}
public void setCorsLoggingEnabled(Boolean corsLoggingEnabled) {
this.corsLoggingEnabled = corsLoggingEnabled;
}
public Integer getCorsPreflightMaxAge() {
if (corsPreflightMaxAge == null) {
corsPreflightMaxAge = DEFAULT_CORS_PREFLIGHT_MAX_AGE;
}
return corsPreflightMaxAge;
}
public void setCorsPreflightMaxAge(Integer corsPreflightMaxAge) {
this.corsPreflightMaxAge = corsPreflightMaxAge;
}
public Boolean getCorsRequestDecorate() {
if (corsRequestDecorate == null) {
corsRequestDecorate = DEFAULT_CORS_REQUEST_DECORATE;
}
return corsRequestDecorate;
}
public void setCorsRequestDecorate(Boolean corsRequestDecorate) {
this.corsRequestDecorate = corsRequestDecorate;
}
}