TsgcHTTP2Clientメソッド › Put

Put メソッド

同期的な HTTP/2 PUT を実行し、URL のリソースをアップロードされたコンテンツに置き換えます。

オーバーロード

オーバーロード 1

構文

function Put(const aURL: string; const aSource: TStream): string;

パラメータ

名前タイプ説明
aURLconst string作成または置き換えられるリソースを識別する絶対 URL。
aSourceconst 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;

オーバーロード 2

構文

procedure Put(const aURL: string; const aSource: TStream; const aResponseContent: TStream);

パラメータ

名前タイプ説明
aURLconst string作成または置換するリソースを識別する絶対URL。
aSourceconst TStreamアップロードするリソースのバイトを提供するストリーム。
aResponseContentconst 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;

メソッドに戻る