TsgcHTTP2Client › Métodos › Put
Realiza un HTTP/2 PUT síncrono, reemplazando el recurso en la URL con el contenido cargado.
function Put(const aURL: string; const aSource: TStream): string;
| Nombre | Tipo | Descripción |
|---|---|---|
aURL | const string | URL absoluta que identifica el recurso que se creará o reemplazará. |
aSource | const TStream | Flujo que suministra la representación completa del recurso que se va a almacenar. |
Cuerpo de respuesta recibido del servidor decodificado como cadena de texto. (string)
PUT es idempotente: llamarlo repetidamente con el mismo cuerpo produce el mismo estado del recurso en el servidor. Esta sobrecarga es adecuada para cargas útiles JSON/texto cuya respuesta textual puede consumirse como cadena.
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);
| Nombre | Tipo | Descripción |
|---|---|---|
aURL | const string | URL absoluta que identifica el recurso a crear o reemplazar. |
aSource | const TStream | Stream que suministra los bytes del recurso a cargar. |
aResponseContent | const TStream | Stream que captura el cuerpo de respuesta sin procesar del servidor. |
Variante de flujo a flujo recomendada para la carga de recursos binarios, como imágenes o reemplazos de archivos, donde tanto la solicitud como la respuesta se gestionan mejor sin conversión de cadenas.
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;