Класс: matlab.net.http.io. ContentConsumer
Пакет: matlab.net.http.io
Подготовьте потребителя к новой полезной нагрузке HTTP
OK = initialize(consumer)
готовит OK
= initialize(consumer
)ContentConsumer
к использованию с новой полезной нагрузкой HTTP.
MATLAB® вызывает initialize
после получения заголовка ResponseMessage
, который может содержать полезную нагрузку, чтобы подготовить потребителя к той полезной нагрузке. Это не вызывается для сообщений, которые, как не ожидают, будут содержать полезную нагрузку, такую как те с явной Довольной Длиной 0, или в ошибочных случаях, где полный заголовок не был получен.
Метод delegateTo
в потребителе делегата также вызывает initialize
.
Если вы разделяете на подклассы ContentConsumer
, то необходимо, по крайней мере, проверять свойство ContentType проверить, что ответ имеет тип, который вы готовы обработать. Можно заменить этот метод к, например:
Инициализируйте свои собственные свойства
Определите, хотите ли вы обработать полезную нагрузку
Обработайте полезную нагрузку, которая имеет Response.StatusCode
кроме OK
Вам решать, ли выполнить какие-либо последующие инициализации в этом методе или задержать их до метода start
.
Даже если initialize
называется, MATLAB не может вызвать метод start
потребителя, если сообщение не имеет никакой полезной нагрузки.
Реализация по умолчанию возвращает true
, если Response.StatusCode
является OK
и false
в противном случае. Подклассы, которые заменяют этот метод, должны вызвать этот метод суперкласса сначала и проверять возвращаемое значение, если они не хотят обработать сообщения с состоянием кроме OK
. Подклассы, которые вызывают putData
в этом классе, должны вызвать этот метод.
Потребительские подклассы должны быть готовы быть снова использованными для последующих сообщений. MATLAB вызывает initialize
перед каждым сообщением и затем start
для каждого сообщения, которое имеет непустую полезную нагрузку. Если MATLAB вызывает start
, он не вызывает initialize
, пока сообщение не закончилось, исключение было выдано, или прерывание произошло во время обработки сообщения. Все эти случаи обозначаются вызовом putData(uint8.empty)
.
Access | protected |
ContentConsumer.delegateTo
| ContentConsumer.putData
| ContentConsumer.start
| CurrentLength | Ответ | matlab.net.http.RequestMessage
| matlab.net.http.StatusCode