Delphi ActiveX
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
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;