All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.joselion.lionspringsecurity.properties.AccessControlProperties Maven / Gradle / Ivy

package com.github.joselion.lionspringsecurity.properties;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;

import com.github.joselion.lionspringsecurity.core.LionSecurityConst;

public class AccessControlProperties {
	
	/**
	 * Value for {@value #HttpHeaders.ACCESS_CONTROL_ALLOW_CREDENTIALS} HTTP header
	 * 

* @default value is {@value #allowCredentials} * */ private Boolean allowCredentials = true; /** * Value for {@value #HttpHeaders.ACCESS_CONTROL_ALLOW_HEADERS} HTTP header *

* @default value is {@value #allowHeadersToString()} * */ private List allowHeaders = Arrays.asList( HttpHeaders.ACCEPT, HttpHeaders.AUTHORIZATION, HttpHeaders.CONTENT_ENCODING, HttpHeaders.CONTENT_TYPE, HttpHeaders.ORIGIN, "X-Requested-With", LionSecurityConst.CSRF_HEADER_NAME ); /** * Value for {@value #HttpHeaders.ACCESS_CONTROL_ALLOW_METHODS} HTTP header *

* @default value is {@value #allowMethodsToString()} * */ private List allowMethods = Arrays.asList( HttpMethod.OPTIONS, HttpMethod.GET, HttpMethod.POST, HttpMethod.PUT, HttpMethod.DELETE ); /** * Value for {@value #HttpHeaders.ACCESS_CONTROL_EXPOSE_HEADERS} HTTP header *

* @default value is {@value #exposeHeadersToString()} * */ private List exposeHeaders = Arrays.asList( HttpHeaders.CONTENT_ENCODING, HttpHeaders.CONTENT_TYPE, LionSecurityConst.CSRF_HEADER_NAME ); /** * Value for {@value #HttpHeaders.ACCESS_CONTROL_MAX_AGE} HTTP header *

* @default value is {@value #maxAge} * */ private Integer maxAge = 3600; public Boolean getAllowCredentials() { return allowCredentials; } public void setAllowCredentials(Boolean allowCredentials) { this.allowCredentials = allowCredentials; } public List getAllowHeaders() { return allowHeaders; } public void setAllowHeaders(List allowHeaders) { this.allowHeaders = allowHeaders; } public List getAllowMethods() { return allowMethods; } public void setAllowMethods(List allowMethods) { this.allowMethods = allowMethods; } public List getExposeHeaders() { return exposeHeaders; } public void setExposeHeaders(List exposeHeaders) { this.exposeHeaders = exposeHeaders; } public Integer getMaxAge() { return maxAge; } public void setMaxAge(Integer maxAge) { this.maxAge = maxAge; } public String allowHeadersToString() { return String.join(", ", this.allowHeaders); } public String allowMethodsToString() { List methods = this.allowMethods.stream().map(header -> header.name()).collect(Collectors.toList()); return String.join(", ", methods); } public String exposeHeadersToString() { return String.join(", ", this.exposeHeaders); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy