TsgcHTTP2Client › Methods › Put
Führt einen synchronen HTTP/2-PUT durch und ersetzt die Ressource an der URL durch den hochgeladenen Inhalt.
function Put(const aURL: string; const aSource: TStream): string;
| Name | Typ | Beschreibung |
|---|---|---|
aURL | const string | Absolute URL, die die Ressource identifiziert, die erstellt oder ersetzt wird. |
aSource | const TStream | Stream, der die vollständige Darstellung der zu speichernden Ressource liefert. |
Vom Server empfangener Antworttext, als String dekodiert. (string)
PUT ist idempotent: Der wiederholte Aufruf mit demselben Body ergibt denselben Ressourcenzustand auf dem Server. Diese Überladung ist für JSON-/Text-Payloads geeignet, deren textuelle Antwort als Zeichenfolge konsumiert werden kann.
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);
| Name | Typ | Beschreibung |
|---|---|---|
aURL | const string | Absolute URL, die die zu erstellende oder zu ersetzende Ressource identifiziert. |
aSource | const TStream | Stream, der die hochzuladenden Ressourcen-Bytes bereitstellt. |
aResponseContent | const TStream | Stream, der den rohen Antwort-Body vom Server erfasst. |
Stream-zu-Stream-Variante, empfohlen für binäre Ressourcen-Uploads, etwa Bild- oder Datei-Ersetzungen, bei denen sowohl die Anfrage als auch die Antwort am besten ohne String-Konvertierung behandelt werden.
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;