Pascal (Lazarus/Delphi)
Pascal (Lazarus/Delphi)
Duplicate curl POST with JSON Body
See more REST Examples
Demonstrates how to duplicate the following curl command, which sends a POST w/ a JSON body.curl -H "Content-Type: application/json" -i https://my-store.com/wp-json/wc/v2/products/batch?consumer_key=YOUR_CONSUMER_KEY&consumer_secret=YOUR_CONSUMER_SECRET -d @test_product.txt
Chilkat Pascal (Lazarus/Delphi) Downloads
program ChilkatDemo;
// Demonstrates using the Chilkat Pascal wrapper via the C bridge DLL.
// Builds as a console application under Lazarus (FPC) or Delphi.
{$IFDEF FPC}
{$MODE DELPHI}
{$ENDIF}
{$APPTYPE CONSOLE}
uses
{$IFDEF UNIX}
cthreads,
{$ENDIF}
SysUtils,
CkDllLoader,
Chilkat.Rest,
Chilkat.StringBuilder;
// ---------------------------------------------------------------------------
procedure RunDemo;
var
success: Boolean;
rest: TRest;
bAutoReconnect: Boolean;
sbJson: TStringBuilder;
jsonResponseStr: string;
begin
success := False;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
rest := TRest.Create;
// Connect using TLS.
bAutoReconnect := True;
success := rest.Connect('my-store.com',443,True,bAutoReconnect);
// test_product.txt contains this string:
sbJson := TStringBuilder.Create;
sbJson.Append('{"create": [{"name": "Woo Single #1","type": "simple","regular_price": "21.99"}]}');
// Add query parameters
// Add the Content-Type HTTP request header.
success := rest.AddHeader('Content-Type','application/json');
jsonResponseStr := rest.FullRequestString('POST','/wp-json/wc/v2/products/batch?consumer_key=YOUR_CONSUMER_KEY&consumer_secret=YOUR_CONSUMER_SECRET',sbJson.GetAsString());
if (rest.LastMethodSuccess <> True) then
begin
WriteLn(rest.LastErrorText);
Exit;
end;
// Show the JSON response. (See below for a sample JSON response.)
WriteLn('Json Response: ' + jsonResponseStr);
rest.Free;
sbJson.Free;
end;
// ---------------------------------------------------------------------------
begin
try
RunDemo;
except
on E: Exception do
WriteLn('Unhandled exception: ', E.ClassName, ': ', E.Message);
end;
WriteLn;
{$IFDEF MSWINDOWS}
WriteLn('Press Enter to exit...');
ReadLn;
{$ENDIF}
end.