Zur einfachen Erstellung von HTTP Webserveranwendungen zum Beispiel für kleine Web Services kann dieses Server Framework (ab Delphi 2009) und Free Pascal (2.6.0) eingesetzt werden. Es umfasst
* Basisklassen zur Requestverarbeitung: "Web Komponenten" und "Handler"
* eine HTTP Serverumgebung, basierend auf Internet Direct (
Indy) 10.6
* Demoanwendungen,
Unit Tests,
API Dokumentation im
HTML Format und eine "Getting Started" Dokumentation
Hello World! Beispiel
Für eine einfache Anwendung, die auf HTTP GET Anforderungen antworten soll, wird eine Klasse von der Basisklasse
TdjWebComponent abgeleitet und darin
OnGet überschrieben:
Delphi-Quellcode:
type
THelloPage =
class(TdjWebComponent)
public
procedure OnGet(Request: TIdHTTPRequestInfo; Response:
TIdHTTPResponseInfo);
override;
end;
{ THelloPage }
procedure THelloPage.OnGet;
begin
Response.ContentText := '
<html>Hello world!</html>';
end;
Konfiguration
Um von der neuen Klasse nur Anfragen auf die
URL http://127.0.0.1/example/hello.html zu beantworten, sind zwei Quelltextzeilen erforderlich:
Delphi-Quellcode:
Context := TdjWebAppContext.Create('example');
Context.Add(THelloPage, '/hello.html');
Mit dieser Anweisung wird die Klasse (THelloPage) im Kontext 'example' der absoluten
URL /hello.html zugeordnet. Der 'Dateiname', hier hello.html, ist völlig frei wählbar, es gibt also keine zugeordnete hello.html Datei im Dateisystem.
Unter einem Kontext können beliebig viele Registrierungen für Klassen und ihre
URI angelegt werden. Einem Server können beliebig viele Kontexte hinzugefügt werden.
Kontextbezogene statische Resourcen
Jeder Kontext hat ein eigenes Verzeichnis für statische Resourcen. Dadurch kann ein Server für jeden Kontext auch unterschiedliche CSS oder JS Dateien bereitstellen.
Projekt:
https://darajaframework.com/
Quelltext auf GitHub:
https://github.com/michaelJustin/daraja-framework
"Getting Started" PDF
https://darajaframework.com/docs/1.0...ingStarted.pdf
API Dokumentation:
https://darajaframework.com/docs/1.0/