socks proxy support, disable udp connections support, http bittorrent tracker support, port opened, external ip to stats, only need zeroname site if dont have, dont try to download file that not in content.json, store external ip even if port closed, recreate uirequest class to avoid unfinished requests in some cases

This commit is contained in:
HelloZeroNet 2015-04-12 23:59:22 +02:00
parent b414a75885
commit 4f7e048413
36 changed files with 1927 additions and 80 deletions

View file

@ -45,33 +45,34 @@ class UiServer:
self.sites = SiteManager.site_manager.list()
self.log = logging.getLogger(__name__)
self.ui_request = UiRequest(self)
# Handle WSGI request
def handleRequest(self, env, start_response):
path = env["PATH_INFO"]
self.ui_request.env = env
self.ui_request.start_response = start_response
if env.get("QUERY_STRING"):
self.ui_request.get = dict(cgi.parse_qsl(env['QUERY_STRING']))
get = dict(cgi.parse_qsl(env['QUERY_STRING']))
else:
self.ui_request.get = {}
get = {}
ui_request = UiRequest(self, get, env, start_response)
if config.debug: # Let the exception catched by werkezung
return self.ui_request.route(path)
return ui_request.route(path)
else: # Catch and display the error
try:
return self.ui_request.route(path)
return ui_request.route(path)
except Exception, err:
logging.debug("UiRequest error: %s" % Debug.formatException(err))
return self.ui_request.error500("Err: %s" % Debug.formatException(err))
return ui_request.error500("Err: %s" % Debug.formatException(err))
# Reload the UiRequest class to prevent restarts in debug mode
def reload(self):
global UiRequest
import imp, sys
reload(sys.modules["User.UserManager"])
self.ui_request = imp.load_source("UiRequest", "src/Ui/UiRequest.py").UiRequest(self)
self.ui_request.reload()
reload(sys.modules["Ui.UiWebsocket"])
UiRequest = imp.load_source("UiRequest", "src/Ui/UiRequest.py").UiRequest
#UiRequest.reload()
# Bind and run the server