Einzelnen Beitrag anzeigen

Supergr

Registriert seit: 8. Feb 2012
12 Beiträge
 
#1

Einfacher Webserver... Wo finde ich das übergebene JSON

  Alt 30. Nov 2023, 10:59
Hallo Zusammen,

ich muss für eine relativ einfache Kommunikation mit einen Webserver bauen.
Ein Externer Server schickt mir per POST ein JSON.
Der Event kommt und ich bekomme in der IdHTTPServer1CommandGet soweit alles- außer:
das JSON was mir mitgeschickt wurde ist unauffindbar...

Code:
procedure TAct.IdHTTPServer1CommandGet(AContext: TIdContext;  ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
var
   Stream : TStream;
   S : string;

begin
If ARequestInfo.CommandType = hcPOST then
  begin
    Stream := ARequestInfo.PostStream;
    if Assigned(Stream) then
    begin
      Stream.Position := 0;
      S := ReadStringFromStream(Stream);

               TThread.Synchronize(nil,
                 procedure
                 begin
                    memo1.Lines.Add(S);
                 end);
    end
  end;
end;

procedure TAct.IdHTTPServer1CreatePostStream(AContext: TIdContext; AHeaders: TIdHeaderList; var VPostStream: TStream);
begin
  VPostStream := TMemoryStream.Create;
end;

procedure TAct.IdHTTPServer1DoneWithPostStream(AContext: TIdContext; ARequestInfo: TIdHTTPRequestInfo; var VCanFree: Boolean);
begin
 VCanFree := false;
end;
So der Code den ich gefunden habe. Leider ist S immer leer! Hat jemand einen Tip wo ich die Daten finden kann?
Der PostStream scheint nicht leer zu sein, zumindest ist er immer zugewiesen.

Vielen Dank!

Delphi 11 / Indy 10
  Mit Zitat antworten Zitat