Welcome to FastCGI4D

FastCGI4D aimed to provide D with a Tango-compatible FastCGI library, under a BSD-style license, see LibraryLicense. However, it hasn't been actively developed since late '07 and has only been sporadically updated since, to compile with the latest versions of D. You can checkout fastcgi4d using

svn co http://svn.dsource.org/projects/fastcgi4d/trunk

News

The latest fastcgi4d trunk is compatible with tango/ldc trunk and dmd 1.057.

Features of the library

The user benefits from all features of the FastCGI protocol itself. If you would like to know, why FastCGI is worth a try, 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 ones are reported to the server-log automatically.

Drawbacks / What the library does not do

  • The library does not provide you with techniques for creating the content, it only makes your application able to 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. Drawback is, that one must link his/her projects 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

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