Class CorsBuilder
Объект-билдер, который помогает в определении заголовков, связанных с запросами Cross Origin.
Каждый из методов в этом объекте предоставляет интерфейс fluent. После того, как вы установили все нужные заголовки, метод build() может быть использован для возврата изменённого ответа.
Получить этот объект удобнее всего через Request::cors().
Краткое описание свойств
- $_headers protected
array<string, mixed>Заголовки, которые были добавлены до этого.
- $_isSsl protected
boolУказывают, был ли запрос выполнен по протоколу SSL.
- $_origin protected
stringЗначение заголовка Origin запроса.
- $_response protected
Psr\Http\Message\MessageInterfaceОбъект ответа, к которому прикреплён этот билдер.
Краткое описание методов
-
__construct() public
Конструктор.
-
_normalizeDomains() protected
Нормализует источник до регулярных выражений и помещает в массив.
-
allowCredentials() public
Включает отправку куки в запросах CORS.
-
allowHeaders() public
Разрешённые заголовки, которые могут быть отправлены в запросах CORS.
-
allowMethods() public
Устанавливает список разрешённых HTTP-методов.
-
allowOrigin() public
Устанавливает список разрешённых доменных имён.
-
build() public
Применяет очереди заголовков к ответу.
-
exposeHeaders() public
Определяет заголовки, которые клиентская библиотека/браузер может экспонировать для скриптов.
-
maxAge() public
Определяет максимальное время жизни префлайт-запросов OPTIONS.
Подробное описание методов
__construct() public
__construct(Psr\Http\Message\MessageInterface $response, string $origin, bool $isSsl = false)
Конструктор.
Параметры
-
Psr\Http\Message\MessageInterface$response Объект ответа, к которому добавляются заголовки.
-
string$origin Заголовок Origin запроса.
-
bool$isSsl optional Указывает, был ли запрос через SSL.
_normalizeDomains() protected
_normalizeDomains(array<string> $domains): array
Нормализует источник до регулярных выражений и помещает в массив.
Параметры
-
array<string>$domains Доменные имена для нормализации.
Возвращает
arrayallowCredentials() public
allowCredentials(): $this
Включает отправку куки в запросах CORS.
Возвращает
$thisallowHeaders() public
allowHeaders(array<string> $headers): $this
Разрешённые заголовки, которые могут быть отправлены в запросах CORS.
Параметры
-
array<string>$headers Список заголовков для принятия в запросах CORS.
Возвращает
$thisallowMethods() public
allowMethods(array<string> $methods): $this
Устанавливает список разрешённых HTTP-методов.
Параметры
-
array<string>$methods Разрешённые HTTP-методы
Возвращает
$thisallowOrigin() public
allowOrigin(array<string>|string $domains): $this
Устанавливает список разрешённых доменных имён.
Принимает строку или массив доменных имён, для которых включен CORS. Можно использовать *.example.com шаблоны для принятия поддоменов или * для разрешения всех доменов.
Параметры
-
array<string>|string$domains Разрешённые доменные имена
Возвращает
$thisbuild() public
build(): Psr\Http\Message\MessageInterface
Применяет очереди заголовков к ответу.
Если у билдера нет источника, нет разрешенных доменов или разрешенные домены не соответствуют заголовку Origin, заголовки не будут применены.
Возвращает
Psr\Http\Message\MessageInterfaceexposeHeaders() public
exposeHeaders(array<string> $headers): $this
Определяет заголовки, которые клиентская библиотека/браузер может экспонировать для скриптов.
Параметры
-
array<string>$headers Список заголовков для экспонирования ответов CORS.
Возвращает
$thismaxAge() public
maxAge(string|int $age): $this
Определяет максимальное время жизни префлайт-запросов OPTIONS.
Параметры
-
string|int$age Максимальное время жизни запросов OPTIONS в секундах
Возвращает
$thisПодробное описание свойств
$_headers protected
Заголовки, которые были добавлены в очередь.
Тип
array<string, mixed>$_isSsl protected
Указывает, был ли запрос через SSL.
Тип
bool$_origin protected
Значение заголовка Origin запроса.
Тип
string$_response 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/4.4/class-Cake.Http.CorsBuilder.html