Класс: matlab.net.http.RequestMessage
Пакет: matlab.net.http
Подтвердите и завершите сообщение запроса HTTP без отправки
[
добавляет и подтверждает поля заголовка сообщения и преобразует данные как completedrequest
,target
] = complete(request
,uri
)RequestMessage.send
метод, но не отправляет сообщение. complete
принимает HTTPOptions
по умолчанию объект определить, как завершить и подтвердить запрос.
Используйте complete
метод, чтобы исследовать содержимое запроса обменивается сообщениями для отладки целей.
Заполнить и подтвердить Header
и RequestLine
свойства, этот метод игнорирует Completed
свойство в request
. Метод всегда возвращает модифицированный completedrequest
. Если request
не завершается, затем ошибки метода. Можно использовать это поведение, чтобы определить, допустим ли вручную завершенный запрос.
Если Completed
не установлен, затем этот метод всегда преобразует Data
в request.Body
и хранит результат в completedrequest.Body.Payload
, перезапись любого предыдущего содержимого Payload
. Это означает это оба Data
и Payload
в completedrequest.Body
содержите значения. Это отличается от поведения send
который не сохраняет Payload
если HTTPOptions.SavePayload
установлен. Если сообщение содержит большой объем данных, то использование памяти и время преобразования может быть фактором.
Однако, если request.Body
содержит ContentProvider
, затем complete
не вызывает провайдера, чтобы создать данные. completedrequest.Body
содержит тот же ContentProvider
.
[
предоставляет дополнительные возможности для проверки и завершения сообщения запроса.completedrequest
,target
] = complete(request
,uri
,options
)
Если вы намереваетесь отправить completedrequest
чтобы избежать стоимости повторной валидации, отправьте его в target
вместо uri
, использование того же options
. Зависящие от времени поля заголовка, такие как Date
которые добавляются send
метод, не обновляются, когда отправлено снова с помощью completedrequest
.
Завершенный запрос не добавляет полей заголовка авторизации, которые могут быть необходимы для аутентификации к серверу или прокси, даже если Authenticate
свойство установлено в options
. Не может быть возможно определить то, чего сервер требует, не отправляя сообщение. Чтобы видеть, что было отправлено в обмене аутентификации, исследуйте completedrequest
или history
аргументы возвращены send
метод.
Чтобы неоднократно отправлять то же сообщение запроса, отправьте completedrequest
. В противном случае, если вы отправляете request
, затем MATLAB неоднократно подтверждает сообщение. Также обязательно задайте target
как URI и тот же options
входной параметр. Зависящие от времени поля заголовка, такие как Дата, который send
метод добавляет, не обновляются при отправке completedrequest
.
Чтобы завершить сообщение, не преобразовывая данные, установите Completed
свойство к true
прежде, чем вызвать complete
метод. Если Completed
верно и request.Body
MessageBody
объект, затем complete
метод принимает что текущее значение request.Body.Payload
желаемый, даже если это пусто.
Это поведение отличается от send
метод. Если request.Body.Payload
пусто, затем send
преобразует и отправляет непустой Body.Data
значения, даже если Completed
верно.