initialize

Класс: matlab.net.http.io.ContentConsumer
Пакет: matlab.net.http.io

Подготовьте потребителя к новой полезной нагрузке HTTP

Синтаксис

OK = initialize(consumer)

Описание

OK = initialize(consumer) готовит ContentConsumer для использования с новой полезной нагрузкой HTTP.

MATLAB® вызывает initialize после получения заголовка ResponseMessage которые могут содержать полезную нагрузку, чтобы подготовить потребителя к этой полезной нагрузке. Он не вызывается для сообщений, которые не должны содержать полезную нагрузку, таких как сообщения с явной длиной содержимого 0, или в случаях ошибок, когда полный заголовок не был получен.

The 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).

Входные параметры

расширить все

Потребитель содержимого, заданный как matlab.net.http.io.ContentConsumer объект.

Выходные аргументы

расширить все

Укажите, принимает ли потребитель или отклоняет полезную нагрузку сообщения, возвращенную следующим true или false.

  • Если код состояния ResponseMessage является StatusCode.OK, тогда по умолчанию это true.

  • Если OK является true, затем потребитель принял сообщение и обрабатывает полезную нагрузку, если она имеется. MATLAB затем вызывает start потребителя метод, когда приходит первый байт полезной нагрузки, за которым следует один или несколько вызовов putData, передача буфера данных по каждому вызову.

  • Если OK является falseтогда потребитель не хочет обрабатывать сообщение, в этом случае MATLAB обрабатывает полезную нагрузку так, как если бы ни один потребитель не был указан (что может означать преобразование полезной нагрузки по умолчанию в данные).

Если вы переопределяете initialize метод и отклоните сообщение, и вы хотите прервать получение сообщения вместо обработки его по умолчанию, затем выдать ошибку из этого метода вместо возврата false.

Признаки

Accessprotected
Введенный в R2018a