AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte HTTP Server Framework für Object Pascal - nun auf GitHub
Thema durchsuchen
Ansicht
Themen-Optionen

HTTP Server Framework für Object Pascal - nun auf GitHub

Ein Thema von mjustin · begonnen am 23. Feb 2012 · letzter Beitrag vom 22. Apr 2023
 
mjustin

Registriert seit: 14. Apr 2008
3.008 Beiträge
 
Delphi 2009 Professional
 
#1

Daraja HTTP Framework für Object Pascal

  Alt 23. Feb 2012, 08:23
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/
Michael Justin

Geändert von mjustin (22. Apr 2023 um 12:44 Uhr) Grund: Namensänderung
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:34 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 by Thomas Breitkreuz