mirror of
				https://github.com/juspay/hyperswitch.git
				synced 2025-10-31 01:57:45 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			25 lines
		
	
	
		
			765 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			765 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
| // use actix_web::http::header;
 | |
| 
 | |
| use crate::configs::settings;
 | |
| 
 | |
| pub fn cors(config: settings::CorsSettings) -> actix_cors::Cors {
 | |
|     let allowed_methods = config.allowed_methods.iter().map(|s| s.as_str());
 | |
| 
 | |
|     let mut cors = actix_cors::Cors::default()
 | |
|         .allowed_methods(allowed_methods)
 | |
|         .allow_any_header()
 | |
|         .max_age(config.max_age);
 | |
| 
 | |
|     if config.wildcard_origin {
 | |
|         cors = cors.allow_any_origin()
 | |
|     } else {
 | |
|         for origin in &config.origins {
 | |
|             cors = cors.allowed_origin(origin);
 | |
|         }
 | |
|         // Only allow this in case if it's not wildcard origins. ref: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials
 | |
|         cors = cors.supports_credentials();
 | |
|     }
 | |
| 
 | |
|     cors
 | |
| }
 | 
