TsgcHTTP2Client › Methoden › Put
Voert een synchrone HTTP/2 PUT uit, waarbij de resource op de URL wordt vervangen door de geüploade inhoud.
function Put(const aURL: string; const aSource: TStream): string;
| Naam | Type | Beschrijving |
|---|---|---|
aURL | const string | Absolute URL die de resource identificeert die wordt aangemaakt of vervangen. |
aSource | const TStream | Stream die de volledige representatie van de op te slaan resource levert. |
Responsebody die van de server is ontvangen, gedecodeerd als een string. (string)
PUT is idempotent: herhaaldelijk aanroepen met dezelfde inhoud levert dezelfde resourcestatus op de server op. Deze overload is geschikt voor JSON/tekst-payloads waarvan de tekstuele respons als een tekenreeks kan worden verwerkt.
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);
| Naam | Type | Beschrijving |
|---|---|---|
aURL | const string | Absolute URL die de te maken of te vervangen resource identificeert. |
aSource | const TStream | Stream die de te uploaden resourcebytes levert. |
aResponseContent | const TStream | Stream die de onbewerkte antwoordbody van de server vastlegt. |
Stream-naar-stream-variant aanbevolen voor binaire resource-uploads, zoals afbeeldings- of bestandsvervangingen, waarbij zowel het verzoek als de respons het beste kunnen worden verwerkt zonder tekenreeksconversie.
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;