Sample code for 30+ languages & platforms
Delphi ActiveX

POST JSON Without Waiting for the Response

See more REST Examples

This example demonstrates sending a POST w/ content-type "application/json" where the body of the POST contains a JSON document. The POST is sent, but we don't wait for the response.

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Integer;
rest: TChilkatRest;
bAutoReconnect: Integer;
sbJson: TChilkatStringBuilder;
somePath: WideString;
maxWaitMs: Integer;

begin
success := 0;

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

rest := TChilkatRest.Create(Self);

// Connect to the server using TLS
bAutoReconnect := 0;
success := rest.Connect('example.com',443,1,bAutoReconnect);
if (success = 0) then
  begin
    Memo1.Lines.Add(rest.LastErrorText);
    Exit;
  end;

// Create some sample JSON to be sent in the body of the request.
sbJson := TChilkatStringBuilder.Create(Self);
sbJson.Append('{"create": [{"name": "Woo Single #1","type": "simple","regular_price": "21.99"}]}');

// Add the Content-Type HTTP request header.
rest.AddHeader('Content-Type','application/json');

// Just send the request.  Don't read the response.
// The request is sent to https://example.com/something?arg1=xyz&arg2=abc
somePath := '/something?arg1=xyz&arg2=abc';
success := rest.SendReqSb('POST',somePath,sbJson.ControlInterface);
if (success = 0) then
  begin
    Memo1.Lines.Add(rest.LastErrorText);
    Exit;
  end;

// OK, the request was sent.
// Close the connection.
maxWaitMs := 50;
rest.Disconnect(maxWaitMs);

Memo1.Lines.Add('JSON POST Sent.');
end;