import socket
import signal
import re
+import os
+
+WWWROOT = "tmp.httpd.tests"
class Conn:
def __init__(self):
self.s.connect(("0.0.0.0", self.port))
# connect throws socket.error on connection refused
- def get(self, url, http_ver=None, endl="\n",
+ def get(self, url, http_ver="1.0", endl="\n",
req_hdrs={"User-Agent": "test.py"}):
req = "GET "+url
if http_ver is not None:
"You requested an invalid URL: %s\n"%path,
'Generated by darkhttpd')
+ def test_dirlist_escape(self):
+ fn = WWWROOT+"/escape#this"
+ open(fn, "w").write("x"*12345)
+ try:
+ resp = Conn().get("/")
+ finally:
+ os.unlink(fn)
+ status, hdrs, body = parse(resp)
+ self.assertEquals(ord("#"), 0x23)
+ self.assertContains(body, "escape%23this", "12345")
+
def nerf(s):
return re.sub("[^a-zA-Z0-9]", "_", s)