aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mitmproxy/net/tcp.py11
-rw-r--r--mitmproxy/tools/web/app.py10
-rw-r--r--mitmproxy/tools/web/master.py16
3 files changed, 8 insertions, 29 deletions
diff --git a/mitmproxy/net/tcp.py b/mitmproxy/net/tcp.py
index b842f11f..5e53e398 100644
--- a/mitmproxy/net/tcp.py
+++ b/mitmproxy/net/tcp.py
@@ -22,8 +22,6 @@ socket_fileobject = socket.SocketIO
# Python 3.6 for Windows is missing a constant
IPPROTO_IPV6 = getattr(socket, "IPPROTO_IPV6", 41)
-EINTR = 4
-
class _FileLike:
BLOCKSIZE = 1024 * 32
@@ -595,14 +593,7 @@ class TCPServer:
self.__is_shut_down.clear()
try:
while not self.__shutdown_request:
- try:
- r, w_, e_ = select.select(
- [self.socket], [], [], poll_interval)
- except select.error as ex: # pragma: no cover
- if ex[0] == EINTR:
- continue
- else:
- raise
+ r, w_, e_ = select.select([self.socket], [], [], poll_interval)
if self.socket in r:
connection, client_address = self.socket.accept()
t = basethread.BaseThread(
diff --git a/mitmproxy/tools/web/app.py b/mitmproxy/tools/web/app.py
index 936eb75b..61e30a21 100644
--- a/mitmproxy/tools/web/app.py
+++ b/mitmproxy/tools/web/app.py
@@ -18,7 +18,6 @@ from mitmproxy import io
from mitmproxy import log
from mitmproxy import version
from mitmproxy import optmanager
-from mitmproxy.tools.cmdline import CONFIG_PATH
import mitmproxy.tools.web.master # noqa
@@ -457,10 +456,11 @@ class Options(RequestHandler):
class SaveOptions(RequestHandler):
def post(self):
- try:
- optmanager.save(self.master.options, CONFIG_PATH, True)
- except Exception as err:
- raise APIError(400, "{}".format(err))
+ # try:
+ # optmanager.save(self.master.options, CONFIG_PATH, True)
+ # except Exception as err:
+ # raise APIError(400, "{}".format(err))
+ pass
class Application(tornado.web.Application):
diff --git a/mitmproxy/tools/web/master.py b/mitmproxy/tools/web/master.py
index 575694c7..e2c60d94 100644
--- a/mitmproxy/tools/web/master.py
+++ b/mitmproxy/tools/web/master.py
@@ -105,33 +105,21 @@ class WebMaster(master.Master):
def run(self): # pragma: no cover
AsyncIOMainLoop().install()
-
iol = tornado.ioloop.IOLoop.instance()
-
http_server = tornado.httpserver.HTTPServer(self.app)
http_server.listen(self.options.web_port, self.options.web_iface)
-
- iol.add_callback(self.start)
-
web_url = "http://{}:{}/".format(self.options.web_iface, self.options.web_port)
self.log.info(
"Web server listening at {}".format(web_url),
)
-
+ # FIXME: This should be in an addon hooked to the "running" event, not in master
if self.options.web_open_browser:
success = open_browser(web_url)
if not success:
self.log.info(
"No web browser found. Please open a browser and point it to {}".format(web_url),
)
- try:
- iol.start()
- except KeyboardInterrupt:
- self.shutdown()
-
- def shutdown(self):
- tornado.ioloop.IOLoop.instance().stop()
- super().shutdown()
+ self.run_loop(iol.start)
def open_browser(url: str) -> bool: