Пакет: matlab.net.http.io
Суперклассы: matlab.net.http.io.ContentProvider
ContentProvider, чтобы отправить многослойные/смешанные сообщения HTTP
Этот провайдер помогает с созданием многослойных сообщений HTTP.
Типом контента по умолчанию является "multipart/mixed"
, и полезная нагрузка сообщения содержит произвольное число частей, каждая часть, содержащая ее собственный заголовок, описывающий ту часть. Для получения дополнительной информации о многослойных сообщениях смотрите RFC 2046, разделите 5.1.
Используйте этого провайдера непосредственно, только если вы знаете, что ваш сервер принимает многослойные/смешанные сообщения. Обычно, серверы, которые принимают многослойные сообщения вместо этого, требуют "multipart/form-data"
, который реализован подклассом MultipartFormProvider
. Можно реализовать другие многослойные типы с помощью подклассов.
Класс matlab.net.http.io.MultipartProvider
является классом handle
.
Каждая из частей многослойного сообщения может быть задана как данные в любом из форматов, разрешенных для RequestMessage.Body
, или как ContentProvider
, который создает данные. Объекты ContentProvider
, которые используются к данным по запасам для частей, называются делегатами, в то время как этот MultipartProvider
является провайдером верхнего уровня. В целом любой ContentProvider
подходит как делегат. MultipartProvider
вызывает каждого делегата в свою очередь, когда сообщение отправляется, вызывая его методы, такие как complete
или start
, так, чтобы делегат в общем не имел в виду, что это обеспечивает содержимое для части, а не для целого сообщения.
Этот провайдер всегда передает RequestMessage
, как разделено на блоки, таким образом, это не включает поле заголовка Довольной Длины в сообщение или в заголовки ни одной из частей. В то время как MultipartProvider
вызывает метод expectedContentLength
каждого делегата прежде, чем отправить часть, это только использует возвращаемое значение (если непустой), чтобы осуществить длину, не создать поле Content-Length. Если делегат действительно хочет, чтобы поле Content-Length появилось в части, это должно вставить такое поле явным образом в его свойство Header
. Ни один из подклассов ContentProvider
, обеспеченных MATLAB®, не делает эту обработку.
provider = MultipartProvider(
создает part1,...,partN
)MultipartProvider
, который отправляет заданные части, в заданном порядке, в запросе HTTP. По умолчанию этот провайдер устанавливает Тип контента сообщения к "multipart/mixed"
, но подклассы могут изменить подтип путем установки свойства Subtype
. Конструктор устанавливает элементы массива ячеек свойства Parts
к каждому аргументу part1,...,partN
.
ContentProvider
| MessageBody
| MultipartConsumer
| MultipartFormProvider
| RequestMessage