CorsProperties.java
package org.heigit.ors.api;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import java.util.Arrays;
import java.util.List;
@Configuration
@ConfigurationProperties(prefix = "ors.cors")
public class CorsProperties {
public static final List<String> DEFAULT_ALLOWED_ORIGINS = List.of("*");
public static final List<String> DEFAULT_ALLOWED_HEADERS = List.of(
"Content-Type", "X-Requested-With", "accept", "Origin", "Access-Control-Request-Method", "Access-Control-Request-Headers", "Authorization"
);
public static final long DEFAULT_MAX_PREFLIGHT_AGE = 600L;
private List<String> allowedOrigins = DEFAULT_ALLOWED_ORIGINS;
private List<String> allowedHeaders = DEFAULT_ALLOWED_HEADERS;
private long preflightMaxAge = DEFAULT_MAX_PREFLIGHT_AGE;
public void setAllowedOrigins(String allowedOrigins) {
this.allowedOrigins = Arrays.stream(allowedOrigins.split(",")).map(String::trim).toList();
}
public List<String> getAllowedOrigins() {
return allowedOrigins;
}
public void setAllowedHeaders(String allowedHeaders) {
this.allowedHeaders = Arrays.stream(allowedHeaders.split(",")).map(String::trim).toList();
}
public List<String> getAllowedHeaders() {
return allowedHeaders;
}
public long getPreflightMaxAge() {
return preflightMaxAge;
}
public void setPreflightMaxAge(long preflightMaxAge) {
this.preflightMaxAge = preflightMaxAge;
}
public void setAllowedOriginsList(List<String> allowedOrigins) {
this.allowedOrigins = allowedOrigins;
}
public void setAllowedHeadersList(List<String> allowedHeaders) {
this.allowedHeaders = allowedHeaders;
}
}