Класс CorsBuilder
Объект-билдер, который помогает в определении заголовков, связанных с запросами Cross Origin.
Каждый из методов в этом объекте обеспечивает интерфейс флюента. После того, как вы установили все необходимые заголовки, метод build() может быть использован для возврата изменённого ответа.
Наиболее удобный способ получить этот объект — через Request::cors().
Краткое описание свойств
-
$_headersprotectedЗаголовки, которые были добавлены до этого момента.array -
$_isSslprotectedУказывает, был ли запрос выполнен через SSL.boolean -
$_originprotectedЗначение заголовка Origin запросаstring -
$_responseprotectedОбъект ответа, к которому прикреплён этот билдер.Psr\Http\Message\MessageInterface
Краткое описание методов
- __construct() publicКонструктор.
- _normalizeDomains() protectedНормализует домены для соответствия регулярным выражениям и размещает их в формате массива.
- allowCredentials() publicРазрешить отправку cookie в запросах CORS.
- allowHeaders() publicСписок разрешенных заголовков, которые могут быть отправлены в запросах CORS.
- allowMethods() publicУстанавливает список разрешенных HTTP-методов.
- allowOrigin() publicУстанавливает список разрешенных доменов.
- build() publicПрименяет к ответу заголовки, которые были добавлены ранее.
- exposeHeaders() publicОпределяет заголовки, которые клиентская библиотека/браузер может использовать для доступа к скриптам.
- maxAge() publicОпределяет срок действия предварительных запросов OPTIONS.
Подробное описание методов
__construct()source public
__construct( Psr\Http\Message\MessageInterface $response , string $origin , boolean $isSsl = false )
Конструктор.
Параметры
- Psr\Http\Message\MessageInterface
$response - Объект ответа, к которому нужно добавить заголовки.
- string
$origin - Заголовок Origin запроса.
- boolean
$isSsloptional false - Указывает, был ли запрос выполнен через SSL.
_normalizeDomains()source protected
_normalizeDomains( array $domains )
Нормализует домены для соответствия регулярным выражениям и размещает их в формате массива.
Параметры
- array
$domains - Домены для нормализации.
Возвращаемое значение
arrayallowCredentials()source public
allowCredentials( )
Разрешить отправку cookie в запросах CORS.
Возвращаемое значение
$this
allowHeaders()source public
allowHeaders( array $headers )
Список разрешенных заголовков, которые могут быть отправлены в запросах CORS.
Параметры
- array
$headers - Список заголовков для приема в запросах CORS.
Возвращаемое значение
$this
allowMethods()source public
allowMethods( array $methods )
Устанавливает список разрешенных HTTP-методов.
Параметры
- array
$methods - Разрешенные HTTP-методы
Возвращаемое значение
$this
allowOrigin()source public
allowOrigin( string|array $domain )
Устанавливает список разрешенных доменов.
Принимает строку или массив доменов, для которых включена CORS. Вы можете использовать *.example.com подстановочные знаки для принятия поддоменов или * для разрешения всех доменов.
Параметры
- string|array
$domain - Разрешенные домены
Возвращаемое значение
$this
build()source public
build( )
Применяет к ответу заголовки, которые были добавлены ранее.
Если у билдера нет Origin, нет разрешенных доменов или разрешенные домены не соответствуют заголовку Origin, заголовки не будут применены.
Возвращаемое значение
Psr\Http\Message\MessageInterfaceНовый экземпляр ответа с новыми заголовками.
exposeHeaders()source public
exposeHeaders( array $headers )
Определяет заголовки, которые клиентская библиотека/браузер может использовать для доступа к скриптам.
Параметры
- array
$headers - Список заголовков для экспонирования ответов CORS.
Возвращаемое значение
$this
maxAge()source public
maxAge( integer $age )
Определяет срок действия предварительных запросов OPTIONS.
Параметры
- integer
$age - Срок действия запросов OPTIONS в секундах
Возвращаемое значение
$this
Подробное описание свойств
$_responsesource
protected Psr\Http\Message\MessageInterface
Объект ответа, к которому прикреплён этот билдер.
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.6/class-Cake.Http.CorsBuilder.html