Получите заголовки подразделов составной полезной нагрузки из PHP/PSR-7 ServerRequestInterface.Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Получите заголовки подразделов составной полезной нагрузки из PHP/PSR-7 ServerRequestInterface.

Сообщение Anonymous »

При отправке полезных данных HTTP multipart/form-data можно добавить дополнительные заголовки к отдельным частям компонента. Например, такая команда CURL:

Код: Выделить всё

curl -v --trace-ascii - -X POST https://dev-server/api/intake -H "Authorization: Bearer $token" -F 'data={"json":{"Yep": "this is JSON"}};type=application/json'
Результат HTTP-запроса выглядит следующим образом:

Код: Выделить всё

POST /api/intake HTTP/2
Host: dev-server
User-Agent: curl/8.5.0
Accept: */*
Authorization: Bearer long-token-here
Content-Length: 213
Content-Type: multipart/form-data; boundary=------------------------lQNQ3xgpz1neU0tlQTPXnF

--------------------------lQNQ3xgpz1neU0tlQTPXnF
Content-Disposition: form-data; name="data"
Content-Type: application/json

{"json":{"Yep": "this is JSON"}}
--------------------------lQNQ3xgpz1neU0tlQTPXnF--
Я использую PHP для реализации конечной точки API и использую PSR-7 ServerRequestInterface для сбора данных запроса. Проблема в том, что, хотя я могу легко получить строку data JSON, используя $message->getParsedBody(), я не вижу способа получить связанный Content-Type: application /json.
Даже пытаться разобрать тело самостоятельно вместо того, чтобы позволить PHP сделать это, нецелесообразно.

Код: Выделить всё

// This returns an empty string, presumably because `php://input`
// is not available for "multipart/form-data" requests
$message->getBody()->getContents();
// (I can't globally disable the `enable_post_data_reading` php.ini setting,
// because other parts of the application rely on it, and doing it via `ini_set`
// seems to have no effect.)
Существует ли поддерживаемый способ получения заголовков этих подразделов?
(Я знаю, что могу просто сделать весь запрос application/json< /code> запрос. Это не моя цель; я хочу использовать составной запрос.)

Подробнее здесь: https://stackoverflow.com/questions/790 ... tinterface
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»