From 4fa4a0071ef9a04c02f8934b2e1d3b7628a65c80 Mon Sep 17 00:00:00 2001 From: Michael Krelin Date: Sun, 13 Feb 2005 14:02:29 +0000 Subject: 1. Support for 'plain' CGI 2. Made fastcgi support optional 3. bumped version to 0.0.1 4. doxygen documentation target 'dox' is not built for 'all' now --- (limited to 'src') diff --git a/src/Makefile.am b/src/Makefile.am index 8a5447b..e5c6778 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,4 +1,8 @@ -lib_LTLIBRARIES = libkingate.la libkingate-fcgi.la +lib_LTLIBRARIES = libkingate.la libkingate-plaincgi.la + +if HAVE_FCGI +lib_LTLIBRARIES += libkingate-fcgi.la +endif INCLUDES = -I${top_srcdir}/include AM_CXXFLAGS = ${KONFORKA_CFLAGS} @@ -13,3 +17,9 @@ libkingate_la_LDFLAGS = -version-info 1:0:0 libkingate_fcgi_la_SOURCES = \ fastcgi.cc libkingate_fcgi_la_LDFLAGS = -version-info 1:0:0 + +libkingate_plaincgi_la_SOURCES = \ + plaincgi.cc +libkingate_plaincgi_la_LDFLAGS = -version-info 1:0:0 + +EXTRA_DIST = ${libkingate_fcgi_la_SOURCES} diff --git a/src/fastcgi.cc b/src/fastcgi.cc index 7484449..6285370 100644 --- a/src/fastcgi.cc +++ b/src/fastcgi.cc @@ -45,7 +45,6 @@ namespace kingate { sbin.attach(request.in); sbout.attach(request.out); sberr.attach(request.err); - metavars.clear(); // XXX: redundant. for(char **p = request.envp; *p; p++) { const char *e = strchr(*p,'='); if(!e){ diff --git a/src/plaincgi.cc b/src/plaincgi.cc new file mode 100644 index 0000000..6934748 --- a/dev/null +++ b/src/plaincgi.cc @@ -0,0 +1,27 @@ +#include +#include +#include +#include "kingate/plaincgi.h" +#include "kingate/exception.h" + +namespace kingate { + + plaincgi_interface::plaincgi_interface() { + for(char **p = environ; *p; p++) { + const char *e = strchr(*p,'='); + if(!e){ + // XXX: check if we have it already? + metavars[*p] = string(0); + }else{ + int l = e-*p; e++; + // XXX: check if we have it already? + metavars[string(*p,l)]=e; + } + } + } + plaincgi_interface::~plaincgi_interface() { + cout.flush(); + cerr.flush(); + } + +} -- cgit v0.9.0.2