![]() |
TWebModule DefaultHandler wird 2 x ausgeführt?
Hallo Delphi-Praxis,
aus gegebenen Anlass bin ich dazu verdonnert worden, auf die schnelle einen REST-Server aus dem Boden zu stampfen. Dabei habe ich keine Ahnung davon. Also habe ich mir ein paar Tutorials reingezogen und das eine und andere Video angeschaut und etwas zusammen gefrickelt. Der Server als StandAlone.Exe läuft ansich. Soll später eine ISAPI-Modul werden. Jetzt stelle ich aber fest, dass der DefaultHandler des TWebModules immer 2 mal ausgeführt wird. Ist das normal? Das Handled:=TRUE zusetzen hilft nicht. Da ich den URL der REST-API auf "Variablen" prüfen muss, dachte ich mir: Springste gleich in den DefaultHandler und nimmst dort den Request.PathInfo auseinander. Die URLs sollen später in etwa diese Form haben
Code:
Von daher sehe ich keinen Sinn, das über die TWebActionItems zu regeln.
http://myServer.tld/project/{projectId}/{groupId}.{format}
Oder gibt es bessere Methoden, den URL zu "parsen"? Danke. |
AW: TWebModule DefaultHandler wird 2 x ausgeführt?
Nein das ist nicht normal, aber ohne Beispielcode ist das schwer zu sagen was du falsch machts. Aber schau dir mal lieber folgende Opensource REST Frameworks an:
- Delphi MVC Framework Hier ein Blog dazu und weitere Links: ![]() - MARS-Curiosity ![]() Diese zu nutzen ist viel einfacher als das Rad neu zu erfinden. |
AW: TWebModule DefaultHandler wird 2 x ausgeführt?
Ja klar. Jetzt macht es Sinn! :wall: Der zweite Aufruf kommt vom Browser!
Der Browser fordert u.a. auch ein "favorite.ico" an. Daher der zweite Aufruf des DefaultHandlers. Da, wie gesagt, ich keine Ahnung von diesen REST-Server-Zeug habe, habe ich meinen Bastel-Server mit einem Browser getestet. Hätte ich evtl. erwähnen sollen... :angel: Der ganze JSON-Krahm dahinter, der über meinen Sever ausgeliefert werden soll, ist ja im Prinzip schon fertig, halt nur noch nicht eingebunden. Step by Step... :coder: Jetzt, wo ich den Request.PathInfo analysiere und korrekte HTTP-Stati zurückgebe, fragt der Browser nicht mehr danach. Falsches Test-Werkzeug! Wieder was gelernt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz