Класс: matlab.net.http.
Пакет: matlab.net.http
Подтвердите и завершите сообщение запроса HTTP без отправки
[completedrequest,target] = complete(request,uri)[completedrequest,target] = complete(request,uri,options)[ добавляет и подтверждает поля заголовка сообщения и преобразовывает данные как метод 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 верен.
HTTPOptions | MessageBody | RequestMessage.send | matlab.net.URI