Класс: 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 true и request.Body является MessageBody объект, затем complete метод предполагает, что текущее значение request.Body.Payload является желательным, даже если он пуст.
Это поведение отличается от send способ. Если request.Body.Payload пуст, затем send преобразует и отправляет непустые Body.Data значения, даже если Completed является правдой.