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