Lazarus Pascal Requires Chilkat v11.0.0+
Lazarus Pascal
Example: Http.HttpBd method
Shows how to use the HttpBd method to send an HTTP POST request with the contents of a BinData as the request body. The example sends the following request:POST /api/v1/sites/123/deploys HTTP/1.1 Host: example.com Accept: */* Accept-Encoding: gzip Content-Type: application/zip Content-Length: 123456 [binary data bytes of the BinData]
Also see: Chilkat Http Default and Auto-Filled Headers
Chilkat Lazarus Pascal 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.Http,
Chilkat.BinData,
Chilkat.HttpResponse;
// ---------------------------------------------------------------------------
procedure RunDemo;
var
success: Boolean;
localFilePath: string;
bd: TBinData;
url: string;
resp: THttpResponse;
http: THttp;
begin
success := False;
localFilePath := 'C:/example/zips/data.zip';
bd := TBinData.Create;
success := bd.LoadFile(localFilePath);
if (success = False) then
begin
WriteLn(bd.LastErrorText);
Exit;
end;
url := 'https://example.com/api/v1/sites/123/deploys';
// Send a POST with the contents of the BinData in the binary HTTP request body.
resp := THttpResponse.Create;
http := THttp.Create;
success := http.HttpBd('POST',url,bd,'application/zip',resp);
if (success = False) then
begin
WriteLn(http.LastErrorText);
Exit;
end;
WriteLn('Response Status Code: ' + resp.StatusCode);
WriteLn('Response body:');
WriteLn(resp.BodyStr);
bd.Free;
resp.Free;
http.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.