Sample code for 30+ languages & platforms
Lazarus Pascal

Example: Http.SetAuthTokenSb method

Demonstrates the SetAuthTokenSb method.

Chilkat Lazarus Pascal Downloads

Lazarus Pascal
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.StringBuilder,
  Chilkat.Http;

// ---------------------------------------------------------------------------

procedure RunDemo;
var
  success: Boolean;
  http: THttp;
  oauth2_access_token: string;
  sbAccessToken: TStringBuilder;
  responseText: string;

begin
  success := False;

  http := THttp.Create;

  oauth2_access_token := 'ya39.Ci-XA_C5bGgRDC3UaD-h0_NeL-DVIQnI2gHtBBBHkZzrwlARkwX6R3O0PCDEzRlfaQ';

  sbAccessToken := TStringBuilder.Create;
  sbAccessToken.Append(oauth2_access_token);

  //  Causes the "Authorization: Bearer <access_token>" header to be added to all HTTP requests.
  http.SetAuthTokenSb(sbAccessToken);

  responseText := http.QuickGetStr('https://chilkatsoft.com/helloWorld.txt');
  if (http.LastMethodSuccess = False) then
    begin
      WriteLn(http.LastErrorText);
      Exit;
    end;

  //  See the HTTP request header that was sent.
  WriteLn(http.LastHeader);

  //  Output:
  //  
  //  GET /helloWorld.txt HTTP/1.1
  //  Host: chilkatsoft.com
  //  Accept: */*
  //  Accept-Encoding: gzip
  //  Authorization: Bearer ya39.Ci-XA_C5bGgRDC3UaD-h0_NeL-DVIQnI2gHtBBBHkZzrwlARkwX6R3O0PCDEzRlfaQ

  //  Note: Starting in v11.2.0, the information that should be kept secret in the Authorization header
  //  will be redacted.  Thus, in Chilkat v11.2.0 and later, the LastHeader property will show the following:

  //  Authorization: Bearer ****


  http.Free;
  sbAccessToken.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.