Spec-Zone.ru › CakePHP 3.7

Класс BodyParserMiddleware

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

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

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

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

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

  • $methods protected
    array
    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 )

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

Сопоставление набора значений заголовка content-type для парсинга с помощью $parser.

Пример

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

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

Параметры

массив $types
Массив значений заголовка content-type для сопоставления. Например, 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.7/class-Cake.Http.Middleware.BodyParserMiddleware.html

Spec-Zone.ru

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