mirror of
https://github.com/danieleteti/delphimvcframework.git
synced 2024-11-16 08:15:53 +01:00
e1225fdcbe
Updated JWT sample Added more unit tests
75 lines
1.5 KiB
ObjectPascal
75 lines
1.5 KiB
ObjectPascal
unit MainClientFormU;
|
|
|
|
interface
|
|
|
|
uses
|
|
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
|
|
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
|
|
|
|
type
|
|
TForm7 = class(TForm)
|
|
Button1: TButton;
|
|
Button2: TButton;
|
|
Memo1: TMemo;
|
|
procedure Button1Click(Sender: TObject);
|
|
procedure Button2Click(Sender: TObject);
|
|
private
|
|
FToken: String;
|
|
procedure SetToken(const Value: String);
|
|
{ Private declarations }
|
|
public
|
|
property Token: String read FToken write SetToken;
|
|
end;
|
|
|
|
var
|
|
Form7: TForm7;
|
|
|
|
implementation
|
|
|
|
uses
|
|
mvcframework.restclient;
|
|
|
|
{$R *.dfm}
|
|
|
|
|
|
procedure TForm7.Button1Click(Sender: TObject);
|
|
var
|
|
lClt: TRESTClient;
|
|
lResp: IRESTResponse;
|
|
begin
|
|
lClt := TRESTClient.Create('localhost', 8080);
|
|
try
|
|
lResp := lClt.doPOST('/login', [], '');
|
|
Token := lResp.BodyAsJSONValue.Value;
|
|
finally
|
|
lClt.Free;
|
|
end;
|
|
ShowMessage
|
|
('In the next 15 seconds you can request protected resources. After your token will expires!');
|
|
end;
|
|
|
|
procedure TForm7.Button2Click(Sender: TObject);
|
|
var
|
|
lClt: TRESTClient;
|
|
lResp: IRESTResponse;
|
|
begin
|
|
lClt := TRESTClient.Create('localhost', 8080);
|
|
try
|
|
lClt.Header('Authentication', 'bearer ' + FToken);
|
|
lResp := lClt.doGET('/', []);
|
|
ShowMessage(lResp.ResponseText + sLineBreak +
|
|
lResp.BodyAsJSONValue.Value);
|
|
finally
|
|
lClt.Free;
|
|
end;
|
|
|
|
end;
|
|
|
|
procedure TForm7.SetToken(const Value: String);
|
|
begin
|
|
FToken := Value;
|
|
Memo1.Lines.Text := Value;
|
|
end;
|
|
|
|
end.
|