Delphi DLL
Delphi DLL
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 DLL Downloads
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Rest, StringBuilder;
...
procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
rest: HCkRest;
bAutoReconnect: Boolean;
sbJson: HCkStringBuilder;
somePath: PWideChar;
maxWaitMs: Integer;
begin
success := False;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
rest := CkRest_Create();
// Connect to the server using TLS
bAutoReconnect := False;
success := CkRest_Connect(rest,'example.com',443,True,bAutoReconnect);
if (success = False) then
begin
Memo1.Lines.Add(CkRest__lastErrorText(rest));
Exit;
end;
// Create some sample JSON to be sent in the body of the request.
sbJson := CkStringBuilder_Create();
CkStringBuilder_Append(sbJson,'{"create": [{"name": "Woo Single #1","type": "simple","regular_price": "21.99"}]}');
// Add the Content-Type HTTP request header.
CkRest_AddHeader(rest,'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 := CkRest_SendReqSb(rest,'POST',somePath,sbJson);
if (success = False) then
begin
Memo1.Lines.Add(CkRest__lastErrorText(rest));
Exit;
end;
// OK, the request was sent.
// Close the connection.
maxWaitMs := 50;
CkRest_Disconnect(rest,maxWaitMs);
Memo1.Lines.Add('JSON POST Sent.');
CkRest_Dispose(rest);
CkStringBuilder_Dispose(sbJson);
end;