TsgcHTTP2ClientMethods › Post

Post Methode

Voert een synchrone HTTP/2 POST uit, uploadt een stream en blokkeert totdat de respons is ontvangen.

Overloads

Overload 1

Syntaxis

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

Parameters

NaamTypeBeschrijving
aURLconst stringAbsolute URL die het POST-verzoek ontvangt.
aSourceconst TStreamStream die de aanvraagtekst bevat om te uploaden. De Size ervan stelt de pseudo-header content-length in.

Retourwaarde

Responsebody die van de server is ontvangen, gedecodeerd als een string. (string)

Opmerkingen

Gebruik deze overload voor tekstuele uitwisselingen zoals JSON of formuliergegevens waarbij de volledige response als een string kan worden geretourneerd. Configureer Request.ContentType voordat u aanroept om het mediatype van de body aan te kondigen.

Voorbeeld

oBody := TStringStream.Create('{"name":"John"}');
try
  oClient.Request.ContentType := 'application/json';
  vResponse := oClient.Post('https://api.example.com/users', oBody);
finally
  oBody.Free;
end;

Overload 2

Syntaxis

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

Parameters

NaamTypeBeschrijving
aURLconst stringAbsolute URL die het POST-verzoek ontvangt.
aSourceconst TStreamStream die de verzoekpayload levert.
aResponseContentconst TStreamStream die de ruwe antwoordbytes van de server ontvangt; nuttig voor binaire of grote antwoorden.

Opmerkingen

Volledig stream-gebaseerde variant: zowel de aanvraaglading als de serverrespons worden verwerkt via TStream-instanties, waardoor de overhead van een tekenreeksconversie aan beide zijden wordt vermeden. Gebruik deze overload bij voorkeur voor bestandsuploads die binaire payloads retourneren.

Voorbeeld

oIn := TFileStream.Create('upload.bin', fmOpenRead);
oOut := TMemoryStream.Create;
try
  oClient.Post('https://api.example.com/upload', oIn, oOut);
finally
  oOut.Free;
  oIn.Free;
end;

Terug naar methoden