Skip to content

class CorsPolicyBuilder

cangjie
public class CorsPolicyBuilder

功能:提供链式构建 CORS 策略的能力。

成员概览

成员功能
init(Array<String>)创建一个预置允许源的 CORS 策略构建器。
func withOrigins(Array<String>)向策略中追加允许的请求源。
func withHeaders(Array<String>)向策略中追加允许的请求头。
func withExposedHeaders(Array<String>)向策略中追加允许暴露的响应头。
func withMethods(Array<String>)向策略中追加允许的请求方法。
func allowAnyOrigin()将策略配置为允许任意请求源。
func allowAnyMethod()将策略配置为允许任意请求方法。
func allowAnyHeader()将策略配置为允许任意请求头。
func allowCredentials()将策略配置为允许携带凭据。
func disallowCredentials()将策略配置为不允许携带凭据。
func setPreflightMaxAge(Duration)设置预检响应可缓存的最大时长。
func setIsOriginAllowed((String) -> Bool)设置自定义的源地址判定函数。
func setIsOriginAllowedToAllowWildcardSubdomains()将策略配置为允许已配置通配符域名下的子域。
func build()构建并返回当前配置的 CORS 策略。

init(Array<String>)

cangjie
public init(origins: Array<String>)

功能:创建一个预置允许源的 CORS 策略构建器。

参数:

  • origins: Array<String> - 初始允许的请求源列表。

func withOrigins(Array<String>)

cangjie
public func withOrigins(origins: Array<String>): CorsPolicyBuilder

功能:向策略中追加允许的请求源。

参数:

  • origins: Array<String> - 要追加的请求源列表。

返回值:

func withHeaders(Array<String>)

cangjie
public func withHeaders(headers: Array<String>): CorsPolicyBuilder

功能:向策略中追加允许的请求头。

参数:

  • headers: Array<String> - 要追加的请求头列表。

返回值:

func withExposedHeaders(Array<String>)

cangjie
public func withExposedHeaders(headers: Array<String>): CorsPolicyBuilder

功能:向策略中追加允许暴露的响应头。

参数:

  • headers: Array<String> - 要追加的响应头列表。

返回值:

func withMethods(Array<String>)

cangjie
public func withMethods(methods: Array<String>): CorsPolicyBuilder

功能:向策略中追加允许的请求方法。

参数:

  • methods: Array<String> - 要追加的请求方法列表。

返回值:

func allowAnyOrigin()

cangjie
public func allowAnyOrigin(): CorsPolicyBuilder

功能:将策略配置为允许任意请求源。

返回值:

func allowAnyMethod()

cangjie
public func allowAnyMethod(): CorsPolicyBuilder

功能:将策略配置为允许任意请求方法。

返回值:

func allowAnyHeader()

cangjie
public func allowAnyHeader(): CorsPolicyBuilder

功能:将策略配置为允许任意请求头。

返回值:

func allowCredentials()

cangjie
public func allowCredentials(): CorsPolicyBuilder

功能:将策略配置为允许携带凭据。

返回值:

func disallowCredentials()

cangjie
public func disallowCredentials(): CorsPolicyBuilder

功能:将策略配置为不允许携带凭据。

返回值:

func setPreflightMaxAge(Duration)

cangjie
public func setPreflightMaxAge(preflightMaxAge: Duration): CorsPolicyBuilder

功能:设置预检响应可缓存的最大时长。

参数:

  • preflightMaxAge: Duration - 预检响应可缓存的最大时长。

返回值:

异常:

  • IllegalArgumentException - 当时长为负值时抛出。

func setIsOriginAllowed((String) -> Bool)

cangjie
public func setIsOriginAllowed(isOriginAllowed: (String) -> Bool): CorsPolicyBuilder

功能:设置自定义的源地址判定函数。

参数:

  • isOriginAllowed: (String) -> Bool - 用于判定源地址是否允许的函数。

返回值:

func setIsOriginAllowedToAllowWildcardSubdomains()

cangjie
public func setIsOriginAllowedToAllowWildcardSubdomains(): CorsPolicyBuilder

功能:将策略配置为允许已配置通配符域名下的子域。

返回值:

func build()

cangjie
public func build(): CorsPolicy

功能:构建并返回当前配置的 CORS 策略。

返回值:

异常:

  • UnsupportedException - 当策略同时允许任意源和凭据时抛出。