delphimvcframework/samples/serversentevents2/MainSenderFormU.pas

60 lines
1.3 KiB
ObjectPascal
Raw Normal View History

2017-10-09 10:41:38 +02:00
unit MainSenderFormU;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, System.Net.URLClient,
System.Net.HttpClient, System.Net.HttpClientComponent;
type
TForm10 = class(TForm)
edtMessage: TEdit;
Label1: TLabel;
btnSend: TButton;
HTTPSend: TNetHTTPClient;
procedure btnSendClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form10: TForm10;
implementation
uses
JsonDataObjects;
{$R *.dfm}
procedure TForm10.btnSendClick(Sender: TObject);
var
lStream: TStringStream;
lJSON: TJsonObject;
lRes: IHTTPResponse;
begin
lStream := TStringStream.Create;
try
lJSON := TJsonObject.Create;
try
lJSON.S['value'] := edtMessage.Text;
lStream.WriteString(lJSON.ToJSON());
finally
lJSON.Free;
end;
lStream.Position := 0;
lRes := HTTPSend.Post('http://localhost:8080/api/notifications', lStream, nil, [TNetHEader.Create('content-type', 'application/json')]);
if lRes.StatusCode <> 201 then
begin
ShowMessage(Format('%d: %s (%s)', [lRes.StatusCode, lres.StatusText, lres.ContentAsString]));
end;
finally
lStream.Free;
end;
end;
end.