Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   HTTP Server Framework für Object Pascal - nun auf GitHub (https://www.delphipraxis.net/166642-http-server-framework-fuer-object-pascal-nun-auf-github.html)

ConstantGardener 20. Mär 2016 08:45

AW: HTTP Server Framework für Object Pascal - nun auf GitHub
 
...sehr schön. Ich setze den Vorgänger (Habari Web Components) schon länger kommerziell ein und kann ihn nur empfehlen! Ein Blick lohnt sich in jedem Fall und ist jetzt ja sehr "schmerzfrei" (sprich kostenlos) möglich. Da bekommt man direkt Lust mal eine kleine DEMO zusammenzuschrauben.

Danke Dir erstmal für die bisherige Arbeit!

cu cg

mjustin 2. Jul 2016 13:28

AW: HTTP Server Framework für Object Pascal - nun auf GitHub
 
Die RESTful Erweiterung des Daraja Framework ist nun als Version 2.0 auf GitHub verfügbar:

https://github.com/michaelJustin/daraja-restful

Sie enthält als wesentliche Neuerung Unterstützung von Free Pascal.

Da in Free Pascal Anonyme Funktionen bisher nicht unterstützt werden, muss stattdessen eine Referenz auf eine Methode übergeben werden.

Beispiel: Delphi ...
Delphi-Quellcode:
   &Path('hello');
   &Produces('text/html');
   GET
    (procedure(Request: TRequest; Response: TResponse)
     begin
       Response.ContentText := '<html>Hello world!</html>';
     end);
...Free Pascal:
Delphi-Quellcode:
   &Path('hello');
   &Produces('text/html');
   GET
    (MyGetMethod);

...


   procedure TMyRestComponent.MyGetMethod(Request: TRequest; Response: TResponse);
   begin
     Response.ContentText := '<html>Hello world!</html>';
   end;
Unittests sind nun für Delphi (DUnit) und Free Pascal (FPCUnit) enthalten.

Feedback ist wie immer herzlich willkommen.

mjustin 21. Jul 2017 09:08

AW: HTTP Server Framework für Object Pascal - nun auf GitHub
 
Das Release Version 1.2 ist zwar schon eine Weile her, hier aber dennoch eine Zusammenfassung der Änderungen

https://github.com/michaelJustin/dar...leases/tag/1.2

* Struktur der Unittests überarbeitet
* Neue HTTP Hilfsklassen für Unittests
* Die Typen TdjRequest und TdjResponse werden auch in Demoprogrammen und Unittests verwendet
* Das SLF4P Logging Framework wird auch in Demoprogrammen und Unittests verwendet
* Das Bootstrap Demo wurde aktualisiert
* Free Pascal 2.x Support wurde entfernt, Free Pascal 3.0.2 oder neuer kann verwendet werden

Allen Anwender des Frameworks wird empfohlen die neue Version zu testen und Verbesserungswünsche sind willkommen (Adresse siehe https://www.habarisoft.com/daraja_framework.html)

mjustin 15. Mär 2019 12:22

AW: HTTP Server Framework für Object Pascal - nun auf GitHub
 
Release 1.2.9 des auf Indy basierenden Open Source Frameworks ist nun erschienen.

Neu im Daraja HTTP Framework seit Version 1.2:

Beispiele für Authentication und Authorization mit OpenID Connect und OAuth 2.0:
* GitHub API Zugang mit OAuth 2.0 Authorization (Tutorial 10) Blogartikel
* Google OpenID Connect Authentication (Tutorial 9)
* Google API Zugang mit Zugriff auf die Google Drive API und OAuth 2.0 Authorization (Tutorial 8) Blogartikel
* Google Sign In mit JavaScript (Tutorial 7)

Verbesserte UTF-8 Unterstützung
* Für In Free Pascal ist ein Patch enthalten mit dem das Einbinden der LazUTF8 Unit verbesserte UTF-8 Unterstützung erreicht wird (utf8helper Unit im demo/common Verzeichnis)

Twitter Bootstrap Demo
* Das Demoprojekt wurde auf Bottstrap 4 aktualisiert

Formularbasierte Anmeldung
* Tutorial 6 und 7 demonstrieren formularbasierte Anmeldung

HTTPS
* Demoanwendung für HTTPS (erfordert TLS Zertifikate)

Die vollständigen Release Notes auf GitHub: https://github.com/michaelJustin/dar...ework/releases

Getting Started PDF: https://www.habarisoft.com/daraja_fr...ingStarted.pdf

API Dokumentation: http://michaeljustin.github.io/daraja-framework/

mjustin 22. Apr 2023 11:59

AW: HTTP Server Framework für Object Pascal - nun auf GitHub
 
Daraja HTTP Framework 2.6.beta.1

Das Daraja HTTP Server framework enthält in der kommenden Version 2.6 eine vieseitig verwendbare funktionale Neuerung in Form der WebFilter.
Mit einem WebFilter können HTTP Request und HTTP Response vor- und nachbearbeitet werden.
Einsatzbereiche für Filter sind zum Beispiel:
* Prüfen, Setzen und Entfernen von HTTP Header-Parametern
* Ersetzen von Texten auf oder Hinzufügen von Kopf- oder Fusszeilen
* Weiterleitung auf Login-Seiten
* Schreiben von Logdateien.

Source Code der Version 2.6.beta.1 ist hier zu finden:

https://github.com/michaelJustin/dar...tag/2.6-beta.1

Die Tests für Delphi (DUnit) und Lazarus / Free Pascal (FPCUnit) enthalten bereits einige Anwendungsbeispiele.

Ein Filter, der alle Requests verarbeitet (Path /*) und an das Ende des Dokuments den Text " filtered" anhängt, wird in diesem Unittest verwendet:

Delphi-Quellcode:
procedure TAPIConfigTests.TestCatchAllWebFilter;
var
  Server: TdjServer;
  Context: TdjWebAppContext;
begin
  // configure
  Context := TdjWebAppContext.Create('web');
  Context.AddWebComponent(TExamplePage, '*.txt');
  Context.AddFilterWithMapping(TTestFilter, '/*');

  // run
  Server := TdjServer.Create;
  try
    Server.Add(Context);
    Server.Start;

    CheckGETResponseEquals('example (filtered)', '/web/anypage.txt');
  finally
    Server.Free;
  end;
end;
Filterdefinition:

Delphi-Quellcode:
TTestFilter = class(TdjWebFilter)
public
  procedure DoFilter(Context: TdjServerContext; Request: TdjRequest;
    Response: TdjResponse; const Chain: IWebFilterChain); override;
end;

procedure TTestFilter.DoFilter(Context: TdjServerContext; Request: TdjRequest;
  Response: TdjResponse; const Chain: IWebFilterChain);
begin
   Chain.DoFilter(Context, Request, Response);
   Response.ContentText := Response.ContentText + ' (filtered)';
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:52 Uhr.
Seite 4 von 4   « Erste     234   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz