Es klemmt immer noch!
Hier mal mein Stück Code. Es ist von einem Vortrag von
Danny Wind vom SummerCamp2021 abgeleitet.
Das Ganze ist eine WebServerApplication (stand-alone webserver)
Ich habe ein WebModule mit diversen WebModule.Actions und u.a.
folgendem Code
Delphi-Quellcode:
procedure TWebModule1.WebModule1waiGET_ReportsAction(Sender: TObject;
Request: TWebRequest; Response: TWebResponse;
var Handled: Boolean);
begin
Do_GET_ReportsAction(Sender,Request, Response, Handled);
end;
procedure TWebModule1.Do_GET_ReportsAction(Sender: TObject;
Request: TWebRequest; Response: TWebResponse;
var Handled: Boolean);
var
lRKey :
string;
fs : TFileStream;
i : Integer;
s :
String;
begin
lRKey:= Get_Param(Sender, Request);
if (lRKey.IsEmpty)
then //No Report-no param. as URL Params nor URL Segment for GET request
begin
Handled:= False;
//do default handler
end
else
begin //param gefunden
//https://wiki.selfhtml.org/wiki/MIME-Type
Response.ContentType := '
text/plain; charset=' + TEncoding.UTF8.MIMEName;
if TMonitor.Enter(gLock, 500)
then {al short lock was possible}
begin
try //try to return the selected Report
s:= '
meinetextdatei';
fs:= TFileStream.Create(s, fmOpenRead);
i:= fs.Size;
Response.ContentLength := fs.Size;
Response.SendStream(fs);
Response.SendResponse;
finally
TMonitor.Exit(gLock);
end;
end;
// if (lValue.IsEmpty) then {no Data found}
// begin
// //{"error":"Item not found"}
// Response.Content := '{"error":"Item not found"}';
// end
// else
// begin
// Response.Content := lValue;
// end;
Handled := True;
end;
end;
//of Do_GET_ReportsAction()
mit dem code von Delphi.Narium bekomme ich jetzt im Debugger die Fehlermeldung
Zitat:
Project xyzAlone.exe raised
exception class EIdSocketError with message
"Socket-Fehler # 10054 Die Verbindung wurde von Peer zurückgesetzt"
und ohne Debugger gibt es nur nen Alarmton und (no response).
Jeweils aufgerufen mit dem Rest Debugger mit folgender
URL http://localhost:8080/Reports/51
Ich hoffe jetzt auf ne richtig gute Idee! Danke
Charly