aboutsummaryrefslogtreecommitdiffstats
path: root/libpathod/pathod.py
diff options
context:
space:
mode:
authorAldo Cortesi <aldo@nullcube.com>2015-05-02 16:17:00 +1200
committerAldo Cortesi <aldo@nullcube.com>2015-05-02 16:17:00 +1200
commit9109b3cc8cca05f34d3ddee062cf7f8bc401af31 (patch)
tree2d1f2f4ed115a9bc7c26eb87e697b34fe860368f /libpathod/pathod.py
parent601cdf70c7339a59537cc8402e4f2648f398b28d (diff)
downloadmitmproxy-9109b3cc8cca05f34d3ddee062cf7f8bc401af31.tar.gz
mitmproxy-9109b3cc8cca05f34d3ddee062cf7f8bc401af31.tar.bz2
mitmproxy-9109b3cc8cca05f34d3ddee062cf7f8bc401af31.zip
Massive refactoring to split up language implementation.
Diffstat (limited to 'libpathod/pathod.py')
-rw-r--r--libpathod/pathod.py12
1 files changed, 7 insertions, 5 deletions
diff --git a/libpathod/pathod.py b/libpathod/pathod.py
index dbcb807d..4e856f10 100644
--- a/libpathod/pathod.py
+++ b/libpathod/pathod.py
@@ -8,6 +8,7 @@ from netlib import tcp, http, wsgi, certutils, websockets
import netlib.utils
from . import version, app, language, utils
+import language.http
DEFAULT_CERT_DOMAIN = "pathod.net"
@@ -75,7 +76,7 @@ class PathodHandler(tcp.BaseHandler):
crafted, self.settings
)
if error:
- err = language.make_error_response(error)
+ err = language.http.make_error_response(error)
language.serve(err, self.wfile, self.settings)
log = dict(
type="error",
@@ -83,7 +84,7 @@ class PathodHandler(tcp.BaseHandler):
)
return False, log
- if self.server.explain and not isinstance(crafted, language.PathodErrorResponse):
+ if self.server.explain and not isinstance(crafted, language.http.PathodErrorResponse):
crafted = crafted.freeze(self.settings)
self.info(">> Spec: %s" % crafted.spec())
response_log = language.serve(
@@ -212,7 +213,7 @@ class PathodHandler(tcp.BaseHandler):
crafted = language.parse_response(spec)
except language.ParseException, v:
self.info("Parse error: %s" % v.msg)
- crafted = language.make_error_response(
+ crafted = language.http.make_error_response(
"Parse Error",
"Error parsing response spec: %s\n" % v.msg + v.marked()
)
@@ -220,7 +221,7 @@ class PathodHandler(tcp.BaseHandler):
self.addlog(retlog)
return again
elif self.server.noweb:
- crafted = language.make_error_response("Access Denied")
+ crafted = language.http.make_error_response("Access Denied")
language.serve(crafted, self.wfile, self.settings)
self.addlog(dict(
type="error",
@@ -364,7 +365,8 @@ class Pathod(tcp.TCPServer):
return "File access denied.", None
if self.sizelimit and l > self.sizelimit:
return "Response too large.", None
- if self.nohang and any([isinstance(i, language.PauseAt) for i in req.actions]):
+ pauses = [isinstance(i, language.base.PauseAt) for i in req.actions]
+ if self.nohang and any(pauses):
return "Pauses have been disabled.", None
return None, req