Welcome to FastCGI4D
FastCGI4D aims to provide D with a tango-compatible FastCGI library, under a BSD-style license, see LibraryLicense. While it should work, it hasn't been actively developed since late '07 and has only been sporadically updated since, to compile with recent versions of D. You can checkout fastcgi4d using
svn co http://svn.dsource.org/projects/fastcgi4d/trunk
Fastcgi4d trunk is compatible with tango/ldc trunk and dmd 1.057. It requires the mango library.
The user benefits from all the features of the FastCGI protocol itself, take a look at the FastCGI docs. Some main features:
- Access to the four fcgi streams via special Conduits
- Support for plain CGI via the standard Conduits
- Threading for high-load applications
- Optimized for performance, avoiding unnecessary allocations
- Normal D environment, even Exceptions work, uncaught exceptions are logged automatically
What the library does not do
- It does not provide you with a database adapter or HTML generation, it only lets your application communicate with your web server via FastCGI.
- As I'm not comfortable with programming on Windows, I decided to use the OS-specific functions of the original FastCGI library, as they're really complex. The drawback is that you must link your project against the original libfcgi!
Take a look at UsageExamples and see how easy it is to create applications. Fastcgi4d currently works for FreeBSD and linux - Windows is untested.