TsgcHTTP2Client › Metodi › Put
Esegue una PUT HTTP/2 sincrona, sostituendo la risorsa all'URL con il contenuto caricato.
function Put(const aURL: string; const aSource: TStream): string;
| Nome | Tipo | Descrizione |
|---|---|---|
aURL | const string | URL assoluto che identifica la risorsa che verrà creata o sostituita. |
aSource | const TStream | Stream che fornisce la rappresentazione completa della risorsa da memorizzare. |
Corpo della risposta ricevuta dal server decodificato come stringa. (string)
PUT è idempotente: chiamarlo ripetutamente con lo stesso corpo produce lo stesso stato della risorsa sul server. Questo overload è adatto per payload JSON/testo la cui risposta testuale può essere consumata come stringa.
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);
| Nome | Tipo | Descrizione |
|---|---|---|
aURL | const string | URL assoluto che identifica la risorsa da creare o sostituire. |
aSource | const TStream | Stream che fornisce i byte della risorsa da caricare. |
aResponseContent | const TStream | Flusso che cattura il corpo della risposta non elaborato dal server. |
Variante stream-to-stream consigliata per i caricamenti di risorse binarie, come la sostituzione di immagini o file, dove sia la richiesta che la risposta vengono gestite al meglio senza conversione di stringhe.
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;