Класс: matlab.net.http.io. ContentProvider
Пакет: matlab.net.http.io
Полный HTTP-заголовок для ContentProvider
complete(provider,URI)
complete(
увеличивает заголовок сообщения с полями заголовка, требуемыми этим провайдером. provider
,URI
)RequestMessage.send
и методы RequestMessage.complete
вызывают этот метод прежде, чем подтвердить заголовок или добавить любые поля по умолчанию, и прежде, чем вызвать другие методы в этом классе за исключением expectedContentLength
.
Это - то, где подклассы могут добавить любые поля в Заголовок, которые зависят от содержимого, такого как Тип контента. См. описание свойства Header
для получения дополнительной информации.
Методы RequestMessage
не вызывают этот метод, если сообщение было уже завершено (то есть, если RequestMessage.Completed
является true
). Однако последующее изменение к сообщению после завершения сбрасывает свойство RequestMessage.Completed
, позволяя тем методам вызвать этот метод снова. Поэтому провайдеры должны быть подготовлены больше чем к одному вызову complete
перед вызовом start
. Если start
был назван, MATLAB® не повторно вызывает complete
в этом провайдере, если reusable
не возвращает true
, чтобы указать, что этот провайдер может быть снова использован для другого сообщения.
ContentProvider
, который расширяет другой ContentProvider
, должен сначала вызвать свой суперкласс метод complete
, чтобы добавить поля заголовка в Header
, в котором суперкласс нуждается, и затем, по возврату, измените те поля при желании.
Поведение по умолчанию этого метода ничего не делает, но выдает исключение, если этот провайдер был запущен и не допускающий повторное использование. Провайдеры, которые заменяют этот метод, должны всегда вызывать свой суперкласс.
Если этот провайдер не является многослойным делегатом, и вы хотите включать поле Content-Length в сообщение (таким образом, избегающий разделенного на блоки кодирования передачи), то необходимо возвратить непустое значение в expectedContentLength
или реализовать этот метод, чтобы вставить поле Content-Length в Header
.
Этот метод не вызывается на сообщения с набором свойств Completed
к true
, который обычно означает, что этот метод вызывается только однажды на сообщение, даже если это сообщение снова посылается многократно. Реализации этого метода должны, поэтому, выполнить любую инициализацию, которая должна быть сделана только однажды на сообщение. Дорогостоящая инициализация, которая не должна быть сделана до данных, готова быть отправленной, должен быть выполнен в методе start
.
Access | protected |
Заголовок | Запрос | expectedContentLength
| matlab.net.URI
| matlab.net.http.RequestMessage
| start