Cached isDomain / resolveDomain functions

This commit is contained in:
shortcutme 2019-10-06 03:18:14 +02:00
parent 9dd5c88da4
commit 924a61309a
No known key found for this signature in database
GPG key ID: 5B63BAE6CB9613AE
3 changed files with 24 additions and 9 deletions

View file

@ -69,13 +69,19 @@ class UiRequest(object):
return True
if self.isProxyRequest(): # Support for chrome extension proxy
if self.server.site_manager.isDomain(host):
if self.isDomain(host):
return True
else:
return False
return False
def isDomain(self, address):
return self.server.site_manager.isDomainCached(address)
def resolveDomain(self, domain):
return self.server.site_manager.resolveDomainCached(domain)
# Call the request handler function base on path
def route(self, path):
# Restict Ui access by ip
@ -96,7 +102,7 @@ class UiRequest(object):
return iter([ret_error, ret_link])
# Prepend .bit host for transparent proxy
if self.server.site_manager.isDomain(self.env.get("HTTP_HOST")):
if self.isDomain(self.env.get("HTTP_HOST")):
path = re.sub("^/", "/" + self.env.get("HTTP_HOST") + "/", path)
path = re.sub("^http://zero[/]+", "/", path) # Remove begining http://zero/ for chrome extension
path = re.sub("^http://", "/", path) # Remove begining http for chrome extension .bit access
@ -173,7 +179,7 @@ class UiRequest(object):
# The request is proxied by chrome extension or a transparent proxy
def isProxyRequest(self):
return self.env["PATH_INFO"].startswith("http://") or (self.server.allow_trans_proxy and self.server.site_manager.isDomain(self.env.get("HTTP_HOST")))
return self.env["PATH_INFO"].startswith("http://") or (self.server.allow_trans_proxy and self.isDomain(self.env.get("HTTP_HOST")))
def isWebSocketRequest(self):
return self.env.get("HTTP_UPGRADE") == "websocket"