Skip to content

Fast, opinionated, minimalist web framework for Delphi

License

Notifications You must be signed in to change notification settings

fabiohmribeiro/horse

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Horse


Horse is an Express inspired web framework for Delphi and Lazarus.
Designed to ease things up for fast development in a minimalist way and with high performance.


⚙️ Installation

Installation is done using the boss install command:

boss install horse

⚡️ Quickstart Delphi

uses Horse;

begin
  THorse.Get('/ping',
    procedure(Req: THorseRequest; Res: THorseResponse)
    begin
      Res.Send('pong');
    end);

  THorse.Listen(9000);
end.

⚡️ Quickstart Lazarus

{$MODE DELPHI}{$H+}

uses Horse;

procedure GetPing(Req: THorseRequest; Res: THorseResponse);
begin
  Res.Send('Pong');
end;

begin
  THorse.Get('/ping', GetPing);
  THorse.Listen(9000);
end. 

🧬 Official Middlewares

For a more maintainable middleware ecosystem, we've put official middlewares into separate repositories:

Middleware Delphi Lazarus
horse/json    ✔️     ✔️
horse/basic-auth    ✔️     ✔️
horse/cors    ✔️     ✔️
horse/stream    ✔️     ✔️
horse/jwt    ✔️     ✔️
horse/exception    ✔️     ✔️
horse/logger    ✔️     ✔️
horse/compression    ✔️     ✔️

🌱 Third Party Middlewares

This is a list of middlewares that are created by the Horse community, please create a PR if you want to see yours!

Middleware Delphi Lazarus
bittencourtthulio/etag    ✔️     ✔️
bittencourtthulio/paginate    ✔️     ✔️
bittencourtthulio/cachecontrol    ✔️     ❌
gabrielbaltazar/gbswagger    ✔️     ❌
willhubner/socketIO    ✔️     ❌
dliocode/ratelimit    ✔️     ❌
dliocode/slowdown    ✔️     ❌
giorgiobazzo/upload    ✔️     ❌
dliocode/query    ✔️     ❌
CarlosHe/healthcheck    ✔️     ❌
CarlosHe/staticfiles    ✔️     ❌
CachopaWeb/horse-server-static    ✔️     ✔️
arvanus/horse-exception-logger    ✔️     ✔️
claudneysessa/Horse-CSResponsePagination    ✔️     ❌
claudneysessa/Horse-XSuperObjects    ✔️     ❌
andre-djsystem/horse-bearer-auth    ✔️     ✔️
andre-djsystem/horse-manipulate-request    ✔️     ✔️
andre-djsystem/horse-manipulate-response    ✔️     ✔️
antoniojmsjr/Horse-IPGeoLocation    ✔️     ❌
antoniojmsjr/Horse-XMLDoc    ✔️     ❌
isaquepinheiro/horse-jsonbr    ✔️     ❌
IagooCesaar/Horse-JsonInterceptor    ✔️     ❌
dliocode/horse-datalogger    ✔️     ❌
marcobreveglieri/horse-prometheus-metrics    ✔️     ❌

Delphi Versions

Horse works with Delphi 11 Alexandria, Delphi 10.4 Sydney, Delphi 10.3 Rio, Delphi 10.2 Tokyo, Delphi 10.1 Berlin, Delphi 10 Seattle, Delphi XE8 and Delphi XE7.

💻 Code Contributors

⚠️ License

Horse is free and open-source software licensed under the MIT License.

📐 Tests

tests Console Coverage VCL Coverage

About

Fast, opinionated, minimalist web framework for Delphi

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Pascal 99.9%
  • Batchfile 0.1%