aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libpathod/cmdline.py3
-rw-r--r--libpathod/log.py24
-rw-r--r--libpathod/pathoc.py4
-rw-r--r--libpathod/pathod.py5
-rw-r--r--test/test_log.py4
-rw-r--r--test/test_pathoc.py2
6 files changed, 19 insertions, 23 deletions
diff --git a/libpathod/cmdline.py b/libpathod/cmdline.py
index d89608a2..22205fb7 100644
--- a/libpathod/cmdline.py
+++ b/libpathod/cmdline.py
@@ -1,9 +1,8 @@
#!/usr/bin/env python
-import itertools
+import sys
import argparse
import os
import os.path
-import sys
import re
from netlib import http_uastrings
from . import pathoc, pathod, version, utils, language
diff --git a/libpathod/log.py b/libpathod/log.py
index 8afb86eb..523f431c 100644
--- a/libpathod/log.py
+++ b/libpathod/log.py
@@ -14,6 +14,7 @@ def write(fp, lines):
)
for i in lines:
fp.write(i)
+ fp.write("\n")
fp.flush()
@@ -44,22 +45,13 @@ class Log:
if rlog:
self("Bytes read:")
self.dump(rlog, self.hex)
- if exc_type == netlib.tcp.NetLibTimeout:
- self("Timeout")
- elif exc_type in (
- netlib.tcp.NetLibDisconnect,
- netlib.http.HttpErrorConnClosed
- ):
- self("Disconnected")
- elif exc_type == netlib.http.HttpError:
- self("HTTP Error: %s" % exc_value.message)
- write(
- self.fp,
- [
- "\n".join(self.lines),
- "\n"
- ]
- )
+ if self.lines:
+ write(
+ self.fp,
+ [
+ "\n".join(self.lines),
+ ]
+ )
if exc_value:
raise exc_value
diff --git a/libpathod/pathoc.py b/libpathod/pathoc.py
index 37e921e4..ecf1d4d9 100644
--- a/libpathod/pathoc.py
+++ b/libpathod/pathoc.py
@@ -346,10 +346,14 @@ class Pathoc(tcp.TCPClient):
)
resp.append(self.sslinfo)
resp = Response(*resp)
+ except http.HttpError, v:
+ log("Invalid server response: %s" % v)
+ raise
except tcp.NetLibTimeout:
if self.ignoretimeout:
log("Timeout (ignored)")
return None
+ log("Timeout")
raise
finally:
if resp:
diff --git a/libpathod/pathod.py b/libpathod/pathod.py
index 991d3ae8..3c42573d 100644
--- a/libpathod/pathod.py
+++ b/libpathod/pathod.py
@@ -304,9 +304,10 @@ class PathodHandler(tcp.BaseHandler):
)])
if anchor_gen:
- lg("crafting spec: %s" % anchor_gen)
+ spec = anchor_gen.next()
+ lg("crafting spec: %s" % spec)
nexthandler, retlog["response"] = self.http_serve_crafted(
- anchor_gen.next()
+ spec
)
if nexthandler and websocket_key:
return self.handle_websocket, retlog
diff --git a/test/test_log.py b/test/test_log.py
index 5473236e..9850654c 100644
--- a/test/test_log.py
+++ b/test/test_log.py
@@ -16,7 +16,7 @@ def test_disconnect():
rw = DummyIO()
try:
with log.Log(outf, False, rw, rw) as lg:
- raise netlib.tcp.NetLibDisconnect()
+ lg("Test")
except netlib.tcp.NetLibDisconnect:
pass
- assert "Disconnected" in outf.getvalue()
+ assert "Test" in outf.getvalue()
diff --git a/test/test_pathoc.py b/test/test_pathoc.py
index 556aada5..21e46e8c 100644
--- a/test/test_pathoc.py
+++ b/test/test_pathoc.py
@@ -145,7 +145,7 @@ class TestDaemon(_TestDaemon):
assert "202" in self.tval(["get:'/p/202:b@1'"], ignorecodes=[200, 201])
def test_timeout(self):
- assert "Timeout" in self.tval(["get:'/p/200:p0,10'"], timeout=0.01)
+ assert "Timeout" in self.tval(["get:'/p/200:p0,100'"], timeout=0.01)
assert "HTTP" in self.tval(
["get:'/p/200:p5,100'"],
showresp=True,