#!/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()