Класс BodyParserMiddleware
Парсит закодированные данные тела запроса.
Разрешает парсинг JSON и XML загрузок запроса в данные запроса. Обеспечивает защиту и валидацию CSRF.
Вы также можете добавить собственные парсеры тела запроса, используя метод addParser().
Краткое описание свойств
-
$methodsprotectedHTTP-методы для парсинга данных.string[] -
$parsersprotectedЗарегистрированные парсеры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. -
methodsHTTP-методы для парсинга. По умолчанию 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']
© 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