from mod_python import apache

def debug(req):
    def title(s):
        req.write('\n')
        req.write(s)
        req.write('\n')
        req.write('-'*len(s))
        req.write('\n')

    def log(attr):
        req.write('req.%s: %r\n'%(attr,eval('req.%s'%attr)))

    
    req.add_common_vars()
    req.content_type = 'text/plain'
    
    title('Environment')
    log('subprocess_env')
    
    title('Protocol')
    log('protocol')
    log('subprocess_env.get("HTTPS")')
    
    title('Host name')
    log('hostname')
    log('server.server_hostname')
    log('subprocess_env.get("SERVER_NAME")')
    log('subprocess_env.get("HTTP_HOST")')

    title('Port')
    log('server.port')
    log('connection.local_addr[1]')
    
    title('URI')
    log('unparsed_uri')
    log('parsed_uri')
    log('uri')
    log('path_info')
    log('subprocess_env.get("SCRIPT_NAME")')
    log('subprocess_env.get("PATH_INFO")')
    log('subprocess_env.get("SCRIPT_URL")')
    log('subprocess_env.get("SCRIPT_URI")')
    
    title('Document root')
    log('document_root()')
    log('subprocess_env.get("DOCUMENT_ROOT")')
    
    title('Filename')
    log('filename')
    log('canonical_filename')
    log('subprocess_env.get("SCRIPT_FILENAME")')
    log('subprocess_env.get("PATH_TRANSLATED")')
    
    title('Query string, fragments et al')
    log('args')
    log('subprocess_env.get("QUERY_STRING")')
    
def handler(req):
    debug(req)
    return apache.OK

def index(req):
    debug(req)
    return None

subpath = index

