Daraja Framework logo

Daraja is a flexible HTTP framework for Object Pascal, based on the HTTP server in Internet Direct (Indy).

The framework uses request mapping and filtering rules to invoke your code, which generates the HTTP response, but can also serve static content.

Check me out on

GitHub logo GitHub mark

Follow the blog

Daraja HTTP Framework blog

Features

Request mapping

Incoming HTTP requests are dynamically mapped to URI patterns

Absolute path mapping (/index.html)
Prefix mapping (/sub1/*, /sub2/* ...)
Suffix mapping (*.html, *.pdf)
Request filtering

Incoming HTTP requests may be dynamically pre- and postprocessed

Absolute path mapping (/index.html)
Prefix mapping (/sub1/*, /sub2/* ...)
Suffix mapping (*.html, *.pdf)
Supported HTTP request methods
GET
HEAD
POST
PUT
DELETE
OPTIONS
TRACE
PATCH
Advanced features
Session state - Web component instances are stateless by default, but context-wide and dynamic on-demand creation of HTTP sessions is supported
The library uses Indy's built in SmartFileServe method to minimize HTTP traffic based on the 'file last modified' timestamp
Complimentary example code
Static file support (TdjDefaultWebComponent)
Request statistics (TdjStatisticsFilter)
Common log format logging (TdjNCSALogFilter)
File upload (in demo/common)
Shutdown helper (in demo/common)
Optional logging
Support for SLF4P
Unit tests
DUnit tests ✓/✓
FPCUnit tests ✓/✓
Documentation
API documentation online
Getting Started PDF online
Example projects
Tutorials
Bootstrap example
Other
No package installation required
Full source code on Github
Delphi 2009+ compatible
Free Pascal 3.2 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

Daraja HTTP Framework is hosted on GitHub

Download

Prices below are per developer with no royalties or hidden fees and excluding VAT.

  INDIE
25 €
BUSINESS
99 €
Permitted use Individual Organization
Subscription Type Annual Annual
No AGPL restrictions
Deploy on unlimited servers
Email Support
  Subscribe Subscribe
Subscription cancellation

Daraja HTTP 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.

Yes.