Package Management
Boss Package Manager
Boss is the recommended package manager for Delphi and Lazarus projects. It simplifies dependency management and makes installing Horse and its middlewares effortless.Boss on GitHub
View the Boss repository and documentation
Install Boss
Download and set up Boss for your development environment
Boss automatically manages dependencies, downloads packages, and configures your project paths.
Horse Wizard
Horse Wizard is a code generation tool that scaffolds Horse projects with boilerplate code, saving you time on initial setup.Horse Wizard
Generate Horse projects quickly with interactive wizards
Official Middlewares
Official middlewares are maintained by the Horse core team and support both Delphi and Lazarus.JSON Middleware
horse/json provides automatic JSON serialization and deserialization.Jhonson (JSON)
Automatic JSON handling for requests and responses
CORS Middleware
horse/cors handles Cross-Origin Resource Sharing (CORS) headers.Horse CORS
Enable CORS for cross-origin requests
Authentication Middlewares
- Basic Auth
- JWT
horse/basic-auth implements HTTP Basic Authentication.
Horse Basic Auth
HTTP Basic Authentication middleware
Utility Middlewares
Stream/Octet-Stream
Handle binary file uploads and downloads
Exception Handler
Centralized exception handling and logging
Logger
Request and response logging
Compression
Response compression (gzip, deflate)
Community Middlewares
The Horse community has created many additional middlewares for specialized use cases.Performance and Caching
ETag Middleware
ETag Middleware
bittencourtthulio/etag - Automatic ETag generation for caching.Supports: Delphi ✓ | Lazarus ✓
GitHub Repository
Cache Control
Cache Control
bittencourtthulio/cachecontrol - Cache-Control header management.Supports: Delphi ✓ | Lazarus ✗
GitHub Repository
Rate Limiting
Rate Limiting
dliocode/ratelimit - Request rate limiting.Supports: Delphi ✓ | Lazarus ✗
GitHub Repository
Slowdown
Slowdown
dliocode/slowdown - Gradual request slowdown on rate limit.Supports: Delphi ✓ | Lazarus ✗
GitHub Repository
Documentation and API Tools
GBSwagger
OpenAPI/Swagger documentation generation
Horse Documentation
API documentation generator
Horse XMLDoc
XML documentation support
File Handling
Upload
File upload handling
Static Files
Serve static files and assets
Server Static
Alternative static file server
Pagination and Data
Paginate
Result pagination helper
CSResponsePagination
Advanced pagination responses
Query Parser
Query string parsing utilities
Monitoring and Logging
Health Check
Service health check endpoints
Exception Logger
Enhanced exception logging
DataLogger
Advanced request/response logging
Prometheus Metrics
Prometheus monitoring integration
Real-time Communication
Socket.IO
WebSocket and Socket.IO support for real-time features
Advanced Features
Bearer Token Authentication
Bearer Token Authentication
andre-djsystem/horse-bearer-auth - Bearer token authentication.Supports: Delphi ✓ | Lazarus ✓
GitHub Repository
Request Manipulation
Request Manipulation
andre-djsystem/horse-manipulate-request - Modify incoming requests.Supports: Delphi ✓ | Lazarus ✓
GitHub Repository
Response Manipulation
Response Manipulation
andre-djsystem/horse-manipulate-response - Modify outgoing responses.Supports: Delphi ✓ | Lazarus ✓
GitHub Repository
IP Geolocation
IP Geolocation
antoniojmsjr/Horse-IPGeoLocation - IP-based geolocation.Supports: Delphi ✓ | Lazarus ✗
GitHub Repository
JSON Extensions
JSON Extensions
isaquepinheiro/horse-jsonbr - Enhanced JSON handling.Supports: Delphi ✓ | Lazarus ✗
GitHub Repository
XSuperObjects Integration
XSuperObjects Integration
claudneysessa/Horse-XSuperObjects - XSuperObject JSON library integration.Supports: Delphi ✓ | Lazarus ✗
GitHub Repository
JSON Interceptor
JSON Interceptor
IagooCesaar/Horse-JsonInterceptor - Intercept and transform JSON.Supports: Delphi ✓ | Lazarus ✗
GitHub Repository
Community
Telegram Channel
Join the official Horse community on Telegram for discussions, support, and updates.Join Telegram Channel
Connect with other Horse developers
GitHub Organization
All Horse projects are hosted under the HashLoad GitHub organization.HashLoad on GitHub
Browse all Horse repositories and projects
Contributing a Middleware
Have you created a middleware for Horse? Share it with the community!Submit a PR
Add your middleware to the README by submitting a pull request to the Horse repository.
Community middlewares are listed in the Horse README with compatibility information.
Platform Support
Horse and its official middlewares support:- Delphi
- Lazarus
- Delphi 13 Florence
- Delphi 12 Athens
- Delphi 11 Alexandria
- Delphi 10.4 Sydney
- Delphi 10.3 Rio
- Delphi 10.2 Tokyo
- Delphi 10.1 Berlin
- Delphi 10 Seattle
- Delphi XE8
- Delphi XE7
Next Steps
Examples
See real-world examples using middlewares
Contributing
Learn how to contribute to Horse
