Класс: 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
method, не обновляются при повторной отправке с помощью 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
является true.