Spec-Zone.ru › CakePHP 3.8

Класс BodyParserMiddleware

Парсит закодированные данные тела запроса.

Разрешает парсинг JSON и XML загрузок запроса в данные запроса. Обеспечивает защиту и валидацию CSRF.

Вы также можете добавить собственные парсеры тела запроса, используя метод addParser().

Пространство имён: Cake\Http\Middleware
Расположение: Http/Middleware/BodyParserMiddleware.php

Краткое описание свойств

  • $methods protected
    string[]
    HTTP-методы для парсинга данных.
  • $parsers protected
    array
    Зарегистрированные парсеры

Краткое описание методов

  • __construct() public
    Конструктор
  • __invoke() public
    Применение миддлвеара.
  • addParser() public
    Добавление парсера.
  • decodeJson() protected
    Декодирование JSON в массив.
  • decodeXml() protected
    Декодирование XML в массив.
  • setMethods() public
    Установка HTTP-методов для парсинга тел запросов.

Подробное описание методов

__construct()source public

__construct( array $options = [] )

Конструктор

Параметры

  • json Установите в false, чтобы отключить парсинг тела JSON.
  • xml Установите в true, чтобы включить парсинг XML. По умолчанию false, так как обработка XML требует больше внимания, чем JSON.
  • methods HTTP-методы для парсинга. По умолчанию PUT, POST, PATCH, DELETE.

Параметры

массив $options необязательно []
Параметры для использования. См. выше.

__invoke()source public

__invoke( Psr\Http\Message\ServerRequestInterface $request , Psr\Http\Message\ResponseInterface $response , callable $next )

Применение миддлвеара.

Изменяет запрос, добавляя распарсенное тело, если тип контента известен.

Параметры

Psr\Http\Message\ServerRequestInterface $request
Запрос.
Psr\Http\Message\ResponseInterface $response
Ответ.
вызываемая функция $next
Функция для вызова следующего миддлвеара.

Возвращает

Cake\Http\Response
Ответ

addParser()source public

addParser( array $types , callable $parser )

Добавление парсера.

Сопоставление набора значений заголовка типа контента с парсером $parser.

Пример

Наивный парсер CSV тела запроса может быть создан следующим образом:

$parser->addParser(['text/csv'], function ($body) {
  return str_getcsv($body);
});

Параметры

массив $types
Массив значений заголовка типа контента для соответствия. Например, application/json
вызываемая функция $parser

Функция парсера. Должна вернуть массив данных, которые должны быть вставлены в запрос.

Возвращает


$this

decodeJson()source protected

decodeJson( string $body )

Декодирование JSON в массив.

Параметры

строка $body
Тело запроса для декодирования

Возвращает

массив

decodeXml()source protected

decodeXml( string $body )

Декодирование XML в массив.

Параметры

строка $body
Тело запроса для декодирования

Возвращает

массив

setMethods()source public

setMethods( array $methods )

Установка HTTP-методов для парсинга тел запросов.

Параметры

массив $methods
Методы для парсинга данных.

Возвращает


$this

Подробное описание свойств

$methodssource

protected массив строк

HTTP-методы для парсинга данных.

['PUT', 'POST', 'PATCH', 'DELETE']

$parserssource

protected массив

Зарегистрированные парсеры

[]

© 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.8/class-Cake.Http.Middleware.BodyParserMiddleware.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API