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 で導入