complete
クラス: matlab.net.http.RequestMessage
名前空間: matlab.net.http
HTTP 要求メッセージを送信せずに検証して完了
構文
説明
[
は、completedrequest
,target
] = complete(request
,uri
)RequestMessage.send
メソッドと同様にメッセージ ヘッダー フィールドを追加して検証し、データを変換しますが、メッセージは送信しません。complete
は、既定の HTTPOptions
オブジェクトによって要求の完了方法と検証方法が決定されることを前提としています。
complete
メソッドは、デバッグ目的で要求メッセージの内容を調べるために使用します。
Header
プロパティと RequestLine
プロパティを埋めて有効化するために、このメソッドは request
の Completed
プロパティを無視します。このメソッドは常に変更した completedrequest
を返します。request
が完了しない場合、メソッドによりエラーが発生します。この動作を使用して、手動で完了した要求が有効であるかどうかを判断できます。
Completed
が設定されていない場合、このメソッドは常に request.Body
で Data
を変換し、その結果を completedrequest.Body.Payload
に保存します。以前の Payload
の内容は上書きされます。これは、completedrequest.Body
内の Data
と Payload
の両方に値が含まれることを意味します。この動作は、HTTPOptions.SavePayload
が設定されない限り Payload
を保存しない send
の動作とは異なります。メッセージに大量のデータが含まれている場合、メモリ使用量と変換時間が要因になる可能性があります。
ただし、request.Body
に ContentProvider
が含まれる場合、complete
はデータを作成するためにプロバイダーを呼び出しません。completedrequest.Body
には同じ ContentProvider
が含まれます。
入力引数
出力引数
例
制限
完了した要求では、
Authenticate
プロパティがoptions
に設定される場合であっても、サーバーまたはプロキシへの認証で必要になる可能性のある認証ヘッダー フィールドは追加されません。メッセージを送信せずにサーバーが要求するものを判別することはできない可能性があります。認証交換で送信された内容を確認するには、send
メソッドから返されたcompletedrequest
引数またはhistory
引数を調べます。
ヒント
同じ要求メッセージを繰り返し送信するには
completedrequest
を送信します。それ以外の場合、request
を送信すると MATLAB がメッセージを繰り返し検証します。また、必ずtarget
を URI として指定し、同じoptions
入力引数を指定してください。send
メソッドが追加する Date などの時間依存ヘッダー フィールドは、completedrequest
の送信時に更新されません。データを変換せずにメッセージを完了するには、
complete
メソッドを呼び出す前にCompleted
プロパティをtrue
に設定します。Completed
が true でrequest.Body
がMessageBody
オブジェクトの場合、complete
メソッドでは、request.Body.Payload
の現在の値が空であっても、それが目的の値であることを前提とします。この動作は
send
メソッドと異なります。request.Body.Payload
が空の場合、Completed
が true であっても、send
は空でないBody.Data
値を変換して送信します。
バージョン履歴
R2016b で導入