Horse
O Horse é um framework web, rápido e minimalista para construção de API REST baseado no framework Express do Nodejs compativel com o Delphi e Lazarus. Sua arquitetura modular e estruturada em princípios como o SOLID, permite que sua aplicação seja flexível com uma infinidade de middlewares a seu dispor, fazendo com que a sua API contenha apenas os recursos que forem essenciais para o seu funcionamento.
IDE: #delphi #lazarus
Aplicações: #console #apache #isapi #cgi #daemon #fastcgi #windowsService #vcl
Plataformas: #windows #linux #docker
#️⃣ Hashload
A Hashload é uma comunidade open-source no GitHub, mantenedora de projetos como o Horse e o Boss. O objetivo principal da comunidade é fomentar e incentivar projetos de código aberto, carentes na comunidade Delphi e Lazarus.
🧬 Middlewares oficiais
Para um ecosistema mais organizado e modular, colocamos nossos middlewares oficiais em repositórios separados:
| Middleware | Delphi | Lazarus |
|---|---|---|
| horse/json | ✔️ | ✔️ |
| horse/basic-auth | ✔️ | ✔️ |
| horse/cors | ✔️ | ✔️ |
| horse/stream | ✔️ | ✔️ |
| horse/jwt | ✔️ | ✔️ |
| horse/exception | ✔️ | ✔️ |
| horse/logger | ✔️ | ✔️ |
| horse/compression | ✔️ | ✔️ |
🌱 Middlewares de terceiros
Esta é uma lista de middlewares que são criados pela comunidade Horse. Se você criou um middleware também, e deseja que ele apareça na lista abaixo, por favor nos envie um pull request!
| 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 | ✔️ | ❌ |
⚠️ Compatibilidade
Se você estiver interessado em utilizar o Horse no Delphi, informamos que a versão mínima compatível com o Horse é o Delphi XE7. Todas as versões superiores possuem compatibilidade com o framework Horse*.
Caso esteja interessado em utilizar o Horse no Lazazrus, recomendamos sempre que utilize a última versão disponível, visto que é uma IDE gratúita e não tem custos com a atualização da mesma.