TsgcHTTP2Client › Methods › Put
Realiza um HTTP/2 PUT síncrono, substituindo o recurso na URL pelo conteúdo enviado.
function Put(const aURL: string; const aSource: TStream): string;
| Name | Type | Descrição |
|---|---|---|
aURL | const string | URL absoluta identificando o recurso que será criado ou substituído. |
aSource | const TStream | Stream que fornece a representação completa do recurso a armazenar. |
Corpo de resposta recebido do servidor decodificado como string. (string)
O PUT é idempotente: chamá-lo repetidamente com o mesmo corpo produz o mesmo estado de recurso no servidor. Esta sobrecarga é adequada para cargas úteis JSON / texto cuja resposta textual pode ser consumida como uma string.
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 | Type | Descrição |
|---|---|---|
aURL | const string | URL absoluta identificando o recurso a criar ou substituir. |
aSource | const TStream | Stream que fornece os bytes do recurso a serem enviados. |
aResponseContent | const TStream | Fluxo que captura o corpo bruto da resposta do servidor. |
Variante stream-para-stream recomendada para uploads de recursos binários, como substituição de imagens ou arquivos, em que tanto a requisição quanto a resposta são melhor tratadas sem conversão de string.
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;