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