#!/usr/bin/python
import sys, os
# Set the DJANGO_SETTINGS_MODULE environment variable.
# Customise this for your setup
os.environ['DJANGO_SETTINGS_MODULE'] = "djsite.settings"
from django.core.handlers.wsgi import WSGIHandler
main_handler = WSGIHandler()
def wrapper(environ, start_response):
"""FastCGI Authorizers don't get PATH_INFO. Make one from
REQUEST_URI so that Django can use it in URL matching."""
if not environ["PATH_INFO"]:
# Fastcgi doesn't give you PATH_INFO for authorizers
uri = environ['REQUEST_URI']
if '?' in uri:
path, query = environ['REQUEST_URI'].split('?', 1)
else:
path, query = uri, ''
environ['PATH_INFO'] = path
return main_handler(environ, start_response)
if __name__ == '__main__':
from flup.server.fcgi import WSGIServer
from flup.server.fcgi_base import FCGI_AUTHORIZER
# Django normally uses the FCGI_RESPONDER role and will reject AUTHORIZER
# requests.
WSGIServer(wrapper, roles=(FCGI_AUTHORIZER,)).run()
Comments