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

News

Fastcgi4d trunk is compatible with tango/ldc trunk and dmd 1.057. It requires the mango library.

Features

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!

Current state

Take a look at UsageExamples and see how easy it is to create applications. Fastcgi4d currently works for FreeBSD and linux - Windows is untested.

Other projects for web development in D

  • Serenity - A new web framework written in D
  • Sendero - Open Source Web Framework for the D Programming Language
  • Wombat - A framework for building CGI applications in D