Daraja is a flexible HTTP framework for Object Pascal, based on the HTTP server in the free open source library Internet Direct (Indy).
The framework uses simple request mapping rules to generate the HTTP response, and to invoke your Delphi or Free Pascal code.
The framework requires no package installation and has only one external dependency (Indy).
Context paths | |
Web components are organized in logically separated scopes | ✓ |
Request mapping
Incoming HTTP requests are dynamically mapped to URI patterns |
|
Absolute path mapping (/index.html) | ✓ |
Prefix mapping (/sub1/*, /sub2/* ...) | ✓ |
Suffix mapping (*.html, *.pdf) | ✓ |
Supported HTTP methods | |
GET/POST/DELETE/PATCH/HEAD/TRACE/OPTIONS | ✓/✓/✓/✓/✓/✓/✓ |
Unit tests | |
DUnit tests (GUI/console) | ✓/✓ |
FPCUnit tests (GUI/console) | ✓/✓ |
Documentation | |
API documentation online | ✓ |
Getting Started PDF online | ✓ |
Doxygen script | ✓ |
Example projects | |
Tutorials | ✓ |
Bootstrap example (HTML form, live statistics, multi-file upload) | ✓ |
Logging framework | |
Support for SLF4P | ✓ |
Advanced features | |
Session state - Web component instances are stateless by default, but context-wide and dynamic on-demand creation of HTTP sessions is supported | ✓ |
RESTful add-on "daraja-restful" (on Github) | ✓ |
Development mode (conditional symbol) | ✓ |
Static file support (TdjDefaultWebComponent) | ✓ |
The library uses Indy's built in SmartFileServe method to minimize HTTP traffic based on the 'file last modified' timestamp | ✓ |
Request statistics (TdjStatisticsHandler) | ✓ |
NCSA logging (TdjNCSALogHandler) | ✓ |
Stacktrace logging (madExcept/jclDebug) | ✓/✓ |
favicon support (TdjDefaultHandler) | ✓ |
File upload (experimental, in demo/common) | ✓ |
Shutdown helper (experimental, in demo/common) | ✓ |
Other | |
No package installation required | ✓ |
Full source code on Github | ✓ |
Delphi 2009 compatible | ✓ |
Free Pascal 3.0 compatible | ✓ |
Free Open Source License (GNU AFFERO GENERAL PUBLIC LICENSE Version 3) | ✓ |
Commercial license available | ✓ |
The Daraja Framework is hosted on GitHub
DownloadPrices below are per developer with no royalties or hidden fees.
INDIE 25 € |
BUSINESS 99 € |
|
Permitted use | Individual | Organization |
Subscription Type | Annual | Annual |
No AGPL restrictions | ✓ | ✓ |
Deploy on unlimited servers | ✓ | ✓ |
Email Support | ✓ | ✓ |
Subscribe | Subscribe |
Daraja Framework is dual licensed under the GNU Affero General Public License and a commercial license. The GNU Affero General Public License is a free, copyleft license for software and other kinds of works, specifically designed to ensure cooperation with the community in the case of network server software.