ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡŽ

CORSConfig

CORS ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Cross-Origin Resource Sharing ΠΈ являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· встроСнных middleware Π² Ravyn. Когда ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ CORSConfig пСрСдаСтся экзСмпляру прилоТСния, автоматичСски запускаСтся CORSMiddleware.

Tip

Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ CORS Ρ‚ΡƒΡ‚.

Check

Если allowed_hosts ΡƒΠΊΠ°Π·Π°Π½ Ρ‡Π΅Ρ€Π΅Π· экзСмпляр прилоТСния ΠΈΠ»ΠΈ настройки, автоматичСски запускаСтся TrustedHostMiddleware.

CORSConfig ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅

Для использования CORSConfig Π² экзСмплярС прилоТСния.

from ravyn import CORSConfig, Ravyn

cors_config = CORSConfig(
    allow_origins=["https://example.com", "https://foobar.org"], allow_methods=["GET", "POST"]
)

app = Ravyn(cors_config=cors_config)

Π•Ρ‰Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€

from ravyn import CORSConfig, Ravyn

cors_config = CORSConfig(
    allow_origins=["https://www.example.com", "https://foobar.org"],
    allow_methods=["GET", "POST"],
    allow_credentials=True,
)

app = Ravyn(cors_config=cors_config)

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹

ВсС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ доступны Π² справочникС CORSConfig.

CORSConfig ΠΈ настройки прилоТСния

CORSConfig ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΏΡ€ΠΈ создании прилоТСния, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‡Π΅Ρ€Π΅Π· настройки.

from ravyn import CORSConfig, RavynSettings


class CustomSettings(RavynSettings):
    @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=["*"])

Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ настройки Π² чистотС, Π±Π΅Π· ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ экзСмпляра Ravyn.