TsgcHTTP2Client › メソッド › Put
同期的な HTTP/2 PUT を実行し、URL のリソースをアップロードされたコンテンツに置き換えます。
function Put(const aURL: string; const aSource: TStream): string;
| 名前 | タイプ | 説明 |
|---|---|---|
aURL | const string | 作成または置き換えられるリソースを識別する絶対 URL。 |
aSource | const TStream | 格納するリソースの完全な表現を提供するストリーム。 |
文字列としてデコードされた、サーバーから受信したレスポンスボディ。(string)
PUTはべき等です。同じボディで繰り返し呼び出しても、サーバー上の同じリソース状態になります。このオーバーロードは、テキストレスポンスを文字列として消費できるJSON/テキストペイロードに適しています。
oBody := TStringStream.Create('{"status":"active"}');
try
oClient.Request.ContentType := 'application/json';
vResponse := oClient.Put('https://api.example.com/users/42', oBody);
finally
oBody.Free;
end;
procedure Put(const aURL: string; const aSource: TStream; const aResponseContent: TStream);
| 名前 | タイプ | 説明 |
|---|---|---|
aURL | const string | 作成または置換するリソースを識別する絶対URL。 |
aSource | const TStream | アップロードするリソースのバイトを提供するストリーム。 |
aResponseContent | const TStream | サーバーからの生のレスポンスボディをキャプチャするストリーム。 |
バイナリリソースのアップロード(画像やファイルの置き換えなど)において、リクエストとレスポンスの両方を文字列変換なしに処理するのが最適なケースで推奨されるストリーム対ストリームのバリアント。
oIn := TFileStream.Create('avatar.png', fmOpenRead);
oOut := TMemoryStream.Create;
try
oClient.Put('https://api.example.com/users/42/avatar', oIn, oOut);
finally
oOut.Free;
oIn.Free;
end;