#!/usr/bin/env python """ This is a simple-minded CGI-based driver for the web API. $Header: /cvsroot/dbagg3/htdocs/api.fcgi,v 1.1 2004/09/10 11:27:31 deusx Exp $ """ import os, sys from cStringIO import StringIO import cgiconfig import dbagg3.rest import jon.cgi as cgi import jon.fcgi as fcgi class Handler(cgi.Handler): def process(self, req): env = req.environ stdin = StringIO(req.stdin.read()) dbagg3.rest.dispatch(env.get('REQUEST_METHOD', 'GET'), env.get('PATH_INFO','/'), req.params, 'http://%s%s' % (env['HTTP_HOST'], env['SCRIPT_NAME']), stdout=req, stdin=stdin) # Need threading level 0 because of sour interaction with MySQL and SQLObject fcgi.Server({fcgi.FCGI_RESPONDER: Handler}, threading_level=0).run()