CORSConfig¶
CORS означает Cross-Origin Resource Sharing и является одним из встроенных middleware в Esmerald.
Когда объект CORSConfig
передается экземпляру приложения, автоматически запускается CORSMiddleware
.
Tip
Больше информации о CORS тут.
Check
Если allowed_hosts
указан через экземпляр приложения или настройки, автоматически запускается
TrustedHostMiddleware
.
CORSConfig и приложение¶
Для использования CORSConfig
в экземпляре приложения.
from esmerald import CORSConfig, Esmerald
cors_config = CORSConfig(
allow_origins=["https://example.com", "https://foobar.org"], allow_methods=["GET", "POST"]
)
app = Esmerald(cors_config=cors_config)
Еще пример
from esmerald import CORSConfig, Esmerald
cors_config = CORSConfig(
allow_origins=["https://www.example.com", "https://foobar.org"],
allow_methods=["GET", "POST"],
allow_credentials=True,
)
app = Esmerald(cors_config=cors_config)
Параметры¶
Все параметры и значения по умолчанию доступны в справочнике CORSConfig.
CORSConfig и настройки приложения¶
CORSConfig
можно задать напрямую при создании приложения, а также через настройки.
from esmerald import CORSConfig, EsmeraldAPISettings
class CustomSettings(EsmeraldAPISettings):
@property
def cors_config(self) -> CORSConfig:
"""
Initial Default configuration for the CORS.
This can be overwritten in another setting or simply override
`allow_origins` or then override the `def cors_config()`
property to change the behavior of the whole cors_config.
"""
if not self.allow_origins:
return None
return CORSConfig(allow_origins=self.allow_origins, allow_methods=["*"])
Это поможет вам поддерживать настройки в чистоте, без перегруженного экземпляра Esmerald.