TsgcHTTP2ClientMetody › Put

Put Metoda

Wykonuje synchroniczne żądanie HTTP/2 PUT, zastępując zasób pod podanym adresem URL przesłaną zawartością.

Przeciążenia

Przeciążenie 1

Składnia

function Put(const aURL: string; const aSource: TStream): string;

Parametry

NazwaTypOpis
aURLconst stringBezwzględny adres URL identyfikujący zasób, który zostanie utworzony lub zastąpiony.
aSourceconst TStreamStrumień dostarczający pełną reprezentację zasobu do zapisania.

Wartość zwracana

Treść odpowiedzi odebrana z serwera, zdekodowana jako ciąg znaków. (string)

Uwagi

PUT jest idempotentne: wielokrotne wywołanie z tym samym treścią zapewnia ten sam stan zasobu na serwerze. To przeciążenie jest przeznaczone dla ładunków JSON lub tekstowych, których odpowiedź tekstowa może być odczytana jako ciąg znaków.

Przykład

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;

Przeciążenie 2

Składnia

procedure Put(const aURL: string; const aSource: TStream; const aResponseContent: TStream);

Parametry

NazwaTypOpis
aURLconst stringBezwzględny URL identyfikujący zasób do utworzenia lub zastąpienia.
aSourceconst TStreamStrumień dostarczający bajty zasobu do przesłania.
aResponseContentconst TStreamStrumień przechwytujący surową treść odpowiedzi z serwera.

Uwagi

Wariant strumieniowy zalecany do przesyłania zasobów binarnych, takich jak obrazy lub pliki, gdy zarówno żądanie, jak i odpowiedź są najlepiej obsługiwane bez konwersji łańcuchów.

Przykład

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;

Powrót do metod