Latest commit 89308be Feb 14, 2017 @nick-less nick-less committed with jrialland adjusted cgi variables (#20)
* passing script_name the same value as script_filename breaks drupal url

* request uri seems to include query string as well

* only if query string is present

* removed tabs

* checkstyle wants a newline here
Failed to load latest commit information.
client adjusted cgi variables (#20) Feb 13, 2017
docs added reference doc for 2.1 Jul 8, 2011
parent get rid of coveralls report Nov 23, 2015
samples added samples module + pom Aug 20, 2013
server do not unnessarily cast (breaks RoboVM), use environment variables, h… Aug 10, 2016
src/site fixes #12: allow configuration of keep-alive Aug 20, 2013
.travis.yml back to java 7 Sep 8, 2016
CHANGELOG.TXT added CHANGELOG, adjusted README Aug 13, 2013
LICENSE_JRIALLAND.txt refs #5 added License headers Aug 9, 2013
LICENSE_OPEN_MARKET.txt refs #5 added License headers Aug 9, 2013
README.md issues resolution metrics Dec 23, 2015
license.txt refs #5 added License headers Aug 9, 2013
pom.xml get rid of coveralls report Nov 23, 2015



jFastCGI is the implementation of the FastCGI Protocol with the Java language.

The project gets build using Apache Maven 3 and is split into two main modules:

Build Status Maven Central


Throughput Graph


This module contains code originally published on http://www.fastcgi.com/ to allow simple Java Programs to expose their functionality to a FastCGI client.

In our code its main purpose is for Unit Testing, but you can of course use it to build your own applications that want to expose a FastCGI Interface.


This module contains code to access a FastCGI Service. Usually those services are written in other languages. A common example for a FastCGI Service is a PHP binary exposed through FastCGI.

The client module contains some submodules to ease your every day work:

Client "CORE"

This module contains the base code used to access a FastCGI Service. It abstracts the Request (including all headers), allows the request to be sent to the service and a Response to be received.

Client Servlet

This module contains code to directly bridge a Java Servlet to a FastCGI Service, so that the FastCGI Service can be accessed through the Servlet.

Client Portlet

This module contains code to directly bridge a FastCGI Service into a Portlet, so the FastCGI Service can be integrated into a Portlet Container.

Client Spring

This module contains code to allow integration with the Spring Framework.

Client bundled

This module creates a "bundled" or sometimes called "shaded" version of the project. The resulting JAR contains all classes from client-core, client-servlet, client-portlet and client-spring. Its supposed to be used by people that are not using Maven or another dependency resolver. See the download site for further details.


Credits go out to Julien Rialland who created the base version of the jFastCGI Project on Sourceforge: http://sourceforge.net/projects/jfastcgi/

Dominik Dorn imported the source code from sourceforge using the git svn command and converted it into a full-blown maven project including submodules, sites, etc. The last commit (rev69) on the sourceforge project was in April 2012, its tagged as "v2.2_ref69_sourceforge" in our Git Repository.


The codebase currently has 3 (three) licenses.

  • The code originally provided by Julien is BSD licensed (see LICENSE_JRIALLAND.txt)
  • The code originally provided by the fastcgi.com guys / Open Market, Inc. is also some kind of BSD / public domain license
  • New code is licensed with the Apache Software License 2.