aboutsummaryrefslogtreecommitdiffstats
path: root/libpathod/pathod.py
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2012-10-01 12:01:02 +1300
committerAldo Cortesi <aldo@nullcube.com>2012-10-01 12:01:02 +1300
commit915bcfbd305d7b18de07f4f40dab1e49a06b132c (patch)
tree1b2e0226e9ad9e3a5ac97d643886faa80740b113 /libpathod/pathod.py
parent8bb81be2b07b4b93a8ec7c088bf1ff4728fcec21 (diff)
downloadmitmproxy-915bcfbd305d7b18de07f4f40dab1e49a06b132c.tar.gz
mitmproxy-915bcfbd305d7b18de07f4f40dab1e49a06b132c.tar.bz2
mitmproxy-915bcfbd305d7b18de07f4f40dab1e49a06b132c.zip
Add timeout argument to Pathod, and matching -t command-line option.
Diffstat (limited to 'libpathod/pathod.py')
-rw-r--r--libpathod/pathod.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/libpathod/pathod.py b/libpathod/pathod.py
index 1c53d7d7..3cf96206 100644
--- a/libpathod/pathod.py
+++ b/libpathod/pathod.py
@@ -145,7 +145,7 @@ class PathodHandler(tcp.BaseHandler):
)
self.info(s)
return
-
+ self.settimeout(self.server.timeout)
while not self.finished:
if not self.handle_request():
return
@@ -155,7 +155,8 @@ class Pathod(tcp.TCPServer):
LOGBUF = 500
def __init__( self,
addr, ssloptions=None, craftanchor="/p/", staticdir=None, anchors=None,
- sizelimit=None, noweb=False, nocraft=False, noapi=False, nohang=False
+ sizelimit=None, noweb=False, nocraft=False, noapi=False, nohang=False,
+ timeout=None
):
"""
addr: (address, port) tuple. If port is 0, a free port will be
@@ -175,6 +176,7 @@ class Pathod(tcp.TCPServer):
self.craftanchor = craftanchor
self.sizelimit = sizelimit
self.noweb, self.nocraft, self.noapi, self.nohang = noweb, nocraft, noapi, nohang
+ self.timeout = timeout
if not noapi:
app.api()
self.app = app.app
@@ -224,6 +226,14 @@ class Pathod(tcp.TCPServer):
)
)
return
+ except tcp.NetLibTimeout: # pragma: no cover
+ h.info("Timeout")
+ self.add_log(
+ dict(
+ type = "timeout",
+ )
+ )
+ return
def add_log(self, d):
if not self.noapi: