Daraja Framework logo

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).

Check me out on

GitHub logo GitHub mark

Follow the blog

Daraja Framework blog

Features

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

Example project

Demo project

API documentation

API docs

DUnit tests

DUnit tests

FPCUnit tests

FPCUnit tests

The Daraja Framework is hosted on GitHub

Download

Prices 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.

Yes, if you open source your whole project (thus also AGPL it) otherwise no
You have to supply the whole sourcecode of everything - but a download link should suffice