示例#1
0
    def load(self, env):
        """Initializes ctx using env."""
        ctx = web.ctx
        
        ctx.status = '200 OK'
        ctx.headers = []
        ctx.output = ''
        ctx.environ = ctx.env = env
        ctx.host = env.get('HTTP_HOST')
        ctx.protocol = env.get('HTTPS') and 'https' or 'http'
        ctx.homedomain = ctx.protocol + '://' + env.get('HTTP_HOST', '[unknown]')
        ctx.homepath = os.environ.get('REAL_SCRIPT_NAME', env.get('SCRIPT_NAME', ''))
        ctx.home = ctx.homedomain + ctx.homepath
        ctx.ip = env.get('REMOTE_ADDR')
        ctx.method = env.get('REQUEST_METHOD')
        ctx.path = env.get('PATH_INFO')
        # http://trac.lighttpd.net/trac/ticket/406 requires:
        if env.get('SERVER_SOFTWARE', '').startswith('lighttpd/'):
            ctx.path = lstrips(env.get('REQUEST_URI').split('?')[0], ctx.homepath)

        if env.get('QUERY_STRING'):
            ctx.query = '?' + env.get('QUERY_STRING', '')
        else:
            ctx.query = ''

        ctx.fullpath = ctx.path + ctx.query
示例#2
0
    def load(self, env):
        """Initializes ctx using env."""
        ctx = web.ctx

        ctx.status = "200 OK"
        ctx.headers = []
        ctx.output = ""
        ctx.environ = ctx.env = env
        ctx.host = env.get("HTTP_HOST")
        ctx.protocol = env.get("HTTPS") and "https" or "http"
        ctx.homedomain = ctx.protocol + "://" + env.get("HTTP_HOST", "[unknown]")
        ctx.homepath = os.environ.get("REAL_SCRIPT_NAME", env.get("SCRIPT_NAME", ""))
        ctx.home = ctx.homedomain + ctx.homepath
        ctx.ip = env.get("REMOTE_ADDR")
        ctx.method = env.get("REQUEST_METHOD")
        ctx.path = env.get("PATH_INFO")
        # http://trac.lighttpd.net/trac/ticket/406 requires:
        if env.get("SERVER_SOFTWARE", "").startswith("lighttpd/"):
            ctx.path = lstrips(env.get("REQUEST_URI").split("?")[0], ctx.homepath)

        if env.get("QUERY_STRING"):
            ctx.query = "?" + env.get("QUERY_STRING", "")
        else:
            ctx.query = ""

        ctx.fullpath = ctx.path + ctx.query
示例#3
0
def _load(env):
    load()
    ctx.output = ""
    ctx.environ = ctx.env = env
    ctx.host = env.get("HTTP_HOST")
    ctx.homedomain = "http://" + env.get("HTTP_HOST", "[unknown]")
    ctx.homepath = os.environ.get("REAL_SCRIPT_NAME", env.get("SCRIPT_NAME", ""))
    ctx.home = ctx.homedomain + ctx.homepath
    ctx.ip = env.get("REMOTE_ADDR")
    ctx.method = env.get("REQUEST_METHOD")
    ctx.path = env.get("PATH_INFO")
    # http://trac.lighttpd.net/trac/ticket/406 requires:
    if env.get("SERVER_SOFTWARE", "").startswith("lighttpd/"):
        ctx.path = lstrips(
            env.get("REQUEST_URI").split("?")[0], os.environ.get("REAL_SCRIPT_NAME", env.get("SCRIPT_NAME", ""))
        )

    if env.get("QUERY_STRING"):
        ctx.query = "?" + env.get("QUERY_STRING", "")
    else:
        ctx.query = ""

    ctx.fullpath = ctx.path + ctx.query
    for x in _loadhooks.values():
        x()
示例#4
0
def _load(env):
    load()
    ctx.output = ''
    ctx.environ = ctx.env = env
    ctx.host = env.get('HTTP_HOST')
    ctx.homedomain = 'http://' + env.get('HTTP_HOST', '[unknown]')
    ctx.homepath = os.environ.get('REAL_SCRIPT_NAME',
                                  env.get('SCRIPT_NAME', ''))
    ctx.home = ctx.homedomain + ctx.homepath
    ctx.ip = env.get('REMOTE_ADDR')
    ctx.method = env.get('REQUEST_METHOD')
    ctx.path = env.get('PATH_INFO')
    # http://trac.lighttpd.net/trac/ticket/406 requires:
    if env.get('SERVER_SOFTWARE', '').startswith('lighttpd/'):
        ctx.path = lstrips(
            env.get('REQUEST_URI').split('?')[0],
            os.environ.get('REAL_SCRIPT_NAME', env.get('SCRIPT_NAME', '')))

    if env.get('QUERY_STRING'):
        ctx.query = '?' + env.get('QUERY_STRING', '')
    else:
        ctx.query = ''

    ctx.fullpath = ctx.path + ctx.query
    for x in _loadhooks.values():
        x()
示例#5
0
    def load(self, env):
        """Initializes ctx using env."""
        ctx = web.ctx
        ctx.status = '200 OK'
        ctx.headers = []
        ctx.output = ''
        ctx.environ = ctx.env = env
        ctx.host = env.get('HTTP_HOST')
        ctx.protocol = env.get('HTTPS') and 'https' or 'http'
        ctx.homedomain = ctx.protocol + '://' + env.get('HTTP_HOST', '[unknown]')
        ctx.homepath = os.environ.get('REAL_SCRIPT_NAME', env.get('SCRIPT_NAME', ''))
        ctx.home = ctx.homedomain + ctx.homepath
        #@@ home is changed when the request is handled to a sub-application.
        #@@ but the real home is required for doing absolute redirects.
        ctx.realhome = ctx.home
        ctx.ip = env.get('REMOTE_ADDR')
        ctx.method = env.get('REQUEST_METHOD')
        ctx.path = env.get('PATH_INFO')
        # http://trac.lighttpd.net/trac/ticket/406 requires:
        if env.get('SERVER_SOFTWARE', '').startswith('lighttpd/'):
            ctx.path = lstrips(env.get('REQUEST_URI').split('?')[0], ctx.homepath)

        if env.get('QUERY_STRING'):
            ctx.query = '?' + env.get('QUERY_STRING', '')
        else:
            ctx.query = ''

        ctx.fullpath = ctx.path + ctx.query
        
        for k, v in ctx.iteritems():
            if isinstance(v, str):
                ctx[k] = safeunicode(v)

        # status must always be str
        ctx.status = '200 OK'
示例#6
0
    def load(self, env):
        """Initializes ctx using env."""
        ctx = web.ctx
        
        ctx.status = '200 OK'
        ctx.headers = []
        ctx.output = ''
        ctx.environ = ctx.env = env
        ctx.host = env.get('HTTP_HOST')
        ctx.protocol = env.get('HTTPS') and 'https' or 'http'
        ctx.homedomain = ctx.protocol + '://' + env.get('HTTP_HOST', '[unknown]')
        ctx.homepath = os.environ.get('REAL_SCRIPT_NAME', env.get('SCRIPT_NAME', ''))
        ctx.home = ctx.homedomain + ctx.homepath
        ctx.ip = env.get('REMOTE_ADDR')
        ctx.method = env.get('REQUEST_METHOD')
        ctx.path = env.get('PATH_INFO')
        # http://trac.lighttpd.net/trac/ticket/406 requires:
        if env.get('SERVER_SOFTWARE', '').startswith('lighttpd/'):
            ctx.path = lstrips(env.get('REQUEST_URI').split('?')[0], ctx.homepath)

        if env.get('QUERY_STRING'):
            ctx.query = '?' + env.get('QUERY_STRING', '')
        else:
            ctx.query = ''

        ctx.fullpath = ctx.path + ctx.query
示例#7
0
    def load(self, env):
        """Initializes ctx using env."""
        ctx = web.ctx
        ctx.clear()
        ctx.status = '200 OK'
        ctx.headers = []
        ctx.output = ''
        ctx.environ = ctx.env = env
        ctx.host = env.get('HTTP_HOST')

        if env.get('HTTP_X_FORWARDED_PROTO') in ['http', 'https']:
            ctx.protocol = env.get('HTTP_X_FORWARDED_PROTO')
        elif env.get('wsgi.url_scheme') in ['http', 'https']:
            ctx.protocol = env['wsgi.url_scheme']
        elif env.get('HTTPS', '').lower() in ['on', 'true', '1']:
            ctx.protocol = 'https'
        else:
            ctx.protocol = 'http'

        ctx.homedomain = ctx.protocol + '://' + env.get(
            'HTTP_HOST', '[unknown]')
        ctx.homepath = os.environ.get('REAL_SCRIPT_NAME',
                                      env.get('SCRIPT_NAME', ''))
        ctx.home = ctx.homedomain + ctx.homepath
        #@@ home is changed when the request is handled to a sub-application.
        #@@ but the real home is required for doing absolute redirects.
        ctx.realhome = ctx.home
        ctx.ip = env.get('REMOTE_ADDR')
        ctx.method = env.get('REQUEST_METHOD')
        ctx.path = env.get('PATH_INFO')
        # http://trac.lighttpd.net/trac/ticket/406 requires:
        if env.get('SERVER_SOFTWARE', '').startswith('lighttpd/'):
            ctx.path = lstrips(
                env.get('REQUEST_URI').split('?')[0], ctx.homepath)
            # Apache and CherryPy webservers unquote the url but lighttpd doesn't.
            # unquote explicitly for lighttpd to make ctx.path uniform across all servers.
            ctx.path = urllib.unquote(ctx.path)

        if env.get('QUERY_STRING'):
            ctx.query = '?' + env.get('QUERY_STRING', '')
        else:
            ctx.query = ''

        ctx.fullpath = ctx.path + ctx.query

        for k, v in ctx.iteritems():
            # convert all string values to unicode values and replace
            # malformed data with a suitable replacement marker.
            if isinstance(v, str):
                ctx[k] = v.decode('utf-8', 'replace')

        # status must always be str
        ctx.status = '200 OK'

        ctx.app_stack = []
示例#8
0
    def load(self, env):
        """Initializes ctx using env."""
        ctx = web.ctx
        ctx.clear()
        ctx.status = '200 OK'
        ctx.headers = []
        ctx.output = ''
        ctx.environ = ctx.env = env
        ctx.host = env.get('HTTP_HOST')
	
	if env.get('HTTP_X_FORWARDED_PROTO') in ['http', 'https']:
            ctx.protocol = env.get('HTTP_X_FORWARDED_PROTO')	
        elif env.get('wsgi.url_scheme') in ['http', 'https']:
            ctx.protocol = env['wsgi.url_scheme']
        elif env.get('HTTPS', '').lower() in ['on', 'true', '1']:
            ctx.protocol = 'https' 
	else:
            ctx.protocol = 'http'

        ctx.homedomain = ctx.protocol + '://' + env.get('HTTP_HOST', '[unknown]')
        ctx.homepath = os.environ.get('REAL_SCRIPT_NAME', env.get('SCRIPT_NAME', ''))
        ctx.home = ctx.homedomain + ctx.homepath
        #@@ home is changed when the request is handled to a sub-application.
        #@@ but the real home is required for doing absolute redirects.
        ctx.realhome = ctx.home
        ctx.ip = env.get('REMOTE_ADDR')
        ctx.method = env.get('REQUEST_METHOD')
        ctx.path = env.get('PATH_INFO')
        # http://trac.lighttpd.net/trac/ticket/406 requires:
        if env.get('SERVER_SOFTWARE', '').startswith('lighttpd/'):
            ctx.path = lstrips(env.get('REQUEST_URI').split('?')[0], ctx.homepath)
            # Apache and CherryPy webservers unquote the url but lighttpd doesn't. 
            # unquote explicitly for lighttpd to make ctx.path uniform across all servers.
            ctx.path = urllib.unquote(ctx.path)

        if env.get('QUERY_STRING'):
            ctx.query = '?' + env.get('QUERY_STRING', '')
        else:
            ctx.query = ''

        ctx.fullpath = ctx.path + ctx.query
        
        for k, v in ctx.iteritems():
            # convert all string values to unicode values and replace 
            # malformed data with a suitable replacement marker.
            if isinstance(v, str):
                ctx[k] = v.decode('utf-8', 'replace') 

        # status must always be str
        ctx.status = '200 OK'
        
        ctx.app_stack = []
    def load(self, env):
        """Initializes ctx using env."""
        ctx = web.ctx
        ctx.clear()
        ctx.status = "200 OK"
        ctx.headers = []
        ctx.output = ""
        ctx.environ = ctx.env = env
        ctx.host = env.get("HTTP_HOST")

        if env.get("wsgi.url_scheme") in ["http", "https"]:
            ctx.protocol = env["wsgi.url_scheme"]
        elif env.get("HTTPS", "").lower() in ["on", "true", "1"]:
            ctx.protocol = "https"
        else:
            ctx.protocol = "http"
        ctx.homedomain = ctx.protocol + "://" + env.get("HTTP_HOST", "[unknown]")
        ctx.homepath = os.environ.get("REAL_SCRIPT_NAME", env.get("SCRIPT_NAME", ""))
        ctx.home = ctx.homedomain + ctx.homepath
        # @@ home is changed when the request is handled to a sub-application.
        # @@ but the real home is required for doing absolute redirects.
        ctx.realhome = ctx.home
        ctx.ip = env.get("REMOTE_ADDR")
        ctx.method = env.get("REQUEST_METHOD")
        ctx.path = env.get("PATH_INFO")
        # http://trac.lighttpd.net/trac/ticket/406 requires:
        if env.get("SERVER_SOFTWARE", "").startswith("lighttpd/"):
            ctx.path = lstrips(env.get("REQUEST_URI").split("?")[0], ctx.homepath)
            # Apache and CherryPy webservers unquote the url but lighttpd doesn't.
            # unquote explicitly for lighttpd to make ctx.path uniform across all servers.
            ctx.path = urllib.unquote(ctx.path)

        if env.get("QUERY_STRING"):
            ctx.query = "?" + env.get("QUERY_STRING", "")
        else:
            ctx.query = ""

        ctx.fullpath = ctx.path + ctx.query

        for k, v in ctx.iteritems():
            if isinstance(v, str):
                ctx[k] = safeunicode(v)

        # status must always be str
        ctx.status = "200 OK"

        ctx.app_stack = []
    def load(self, env):
        """Initializes ctx using env."""
        ctx = web.ctx
        ctx.clear()
        ctx.status = '200 OK'
        ctx.headers = []
        ctx.output = ''
        ctx.environ = ctx.env = env
        ctx.host = env.get('HTTP_HOST')

        if env.get('wsgi.url_scheme') in ['http', 'https']:
            ctx.protocol = env['wsgi.url_scheme']
        elif env.get('HTTPS', '').lower() in ['on', 'true', '1']:
            ctx.protocol = 'https'
        else:
            ctx.protocol = 'http'
        ctx.homedomain = ctx.protocol + '://' + env.get(
            'HTTP_HOST', '[unknown]')
        ctx.homepath = os.environ.get('REAL_SCRIPT_NAME',
                                      env.get('SCRIPT_NAME', ''))
        ctx.home = ctx.homedomain + ctx.homepath
        #@@ home is changed when the request is handled to a sub-application.
        #@@ but the real home is required for doing absolute redirects.
        ctx.realhome = ctx.home
        ctx.ip = env.get('REMOTE_ADDR')
        ctx.method = env.get('REQUEST_METHOD')
        ctx.path = env.get('PATH_INFO')
        # http://trac.lighttpd.net/trac/ticket/406 requires:
        if env.get('SERVER_SOFTWARE', '').startswith('lighttpd/'):
            ctx.path = lstrips(
                env.get('REQUEST_URI').split('?')[0], ctx.homepath)

        if env.get('QUERY_STRING'):
            ctx.query = '?' + env.get('QUERY_STRING', '')
        else:
            ctx.query = ''

        ctx.fullpath = ctx.path + ctx.query

        for k, v in ctx.iteritems():
            if isinstance(v, str):
                ctx[k] = safeunicode(v)

        # status must always be str
        ctx.status = '200 OK'

        ctx.app_stack = []
示例#11
0
    def load(self, env):
        ctx = web.ctx
        ctx.clear()
        ctx.status = '200 OK'
        ctx.headers = []
        ctx.output = ''
        ctx.environ = ctx.env = env
        ctx.host = env.get('HTTP_HOST')

        if env.get('wsgi_url_scheme') in ['http', 'https']:
            ctx.protocol = env['wsgi_url_scheme']
        elif env.get('HTTPS', '').lower() in ['on', 'true', '1']:
            ctx.protocol = 'https'
        else:
            ctx.protocol = 'http'
        ctx.homedomain = ctx.protocol + \
            '://' + env.get('HTTP_HOST', '[unknown]')
        ctx.homepath = os.environ.get(
            'REAL_SCRIPT_NAME', env.get('SCRIPT_NAME'))
        ctx.home = ctx.homedomain + ctx.homepath

        ctx.realhome = ctx.home
        ctx.ip = env.get('REMOTE_ADDR')
        ctx.method = env.get('REQUEST_METHOD')
        ctx.path = env.get('PATH_INFO')

        if env.get('SERVER_SOFTWARE', '').startswith('lighttpd/'):
            ctx.path = lstrips(
                env.get('REQUEST_URI').split('?')[0], ctx.homepath)
            ctx.path = urllib.unquote(ctx.path)

        if env.get('QUERY_STRING'):
            ctx.query = '?' + env.get('QUERY_STRING', '')
        else:
            ctx.query = ''

        ctx.fullpath = ctx.path + ctx.query

        for k, v in ctx.iteritems():
            if isinstance(v, str):
                ctx[k] = v.decode('utf-8', 'replace')

        ctx.status = '200 OK'

        ctx.app_stack = []
示例#12
0
def _load(env):
    load()
    ctx.output = ''
    ctx.environ = ctx.env = env
    ctx.host = env.get('HTTP_HOST')
    ctx.homedomain = 'http://' + env.get('HTTP_HOST', '[unknown]')
    ctx.homepath = os.environ.get('REAL_SCRIPT_NAME', env.get('SCRIPT_NAME', ''))
    ctx.home = ctx.homedomain + ctx.homepath
    ctx.ip = env.get('REMOTE_ADDR')
    ctx.method = env.get('REQUEST_METHOD')
    ctx.path = env.get('PATH_INFO')
    # http://trac.lighttpd.net/trac/ticket/406 requires:
    if env.get('SERVER_SOFTWARE', '').startswith('lighttpd/'):
        ctx.path = lstrips(env.get('REQUEST_URI').split('?')[0], 
                           os.environ.get('REAL_SCRIPT_NAME', env.get('SCRIPT_NAME', '')))

    if env.get('QUERY_STRING'):
        ctx.query = '?' + env.get('QUERY_STRING', '')
    else:
        ctx.query = ''
    
    ctx.fullpath = ctx.path + ctx.query
    for x in _loadhooks.values(): x()