Py3: pathod

This commit is contained in:
Shadab Zafar 2016-06-08 21:34:56 +05:30 committed by Thomas Kriechbaumer
parent d9b940c21e
commit fa40531a80
2 changed files with 10 additions and 14 deletions

View File

@ -4,19 +4,20 @@ import logging
import os
import sys
import threading
import urllib
from netlib import tcp
from netlib import certutils
from netlib import websockets
from netlib import version
from six.moves import urllib
from netlib.exceptions import HttpException, HttpReadDisconnect, TcpTimeout, TcpDisconnect, \
TlsException
from . import language, utils, log, protocols
DEFAULT_CERT_DOMAIN = "pathod.net"
DEFAULT_CERT_DOMAIN = b"pathod.net"
CONFDIR = "~/.mitmproxy"
CERTSTORE_BASENAME = "mitmproxy"
CA_CERT_NAME = "mitmproxy-ca.pem"
@ -185,7 +186,7 @@ class PathodHandler(tcp.BaseHandler):
break
else:
if m(path.startswith(self.server.craftanchor)):
spec = urllib.unquote(path)[len(self.server.craftanchor):]
spec = urllib.parse.unquote(path)[len(self.server.craftanchor):]
if spec:
try:
anchor_gen = language.parse_pathod(spec, self.use_http2)
@ -211,7 +212,7 @@ class PathodHandler(tcp.BaseHandler):
"No valid craft request found"
)])
spec = anchor_gen.next()
spec = next(anchor_gen)
if self.use_http2 and isinstance(spec, language.http2.Response):
spec.stream_id = req.stream_id
@ -283,15 +284,10 @@ class PathodHandler(tcp.BaseHandler):
return
def addlog(self, log):
# FIXME: The bytes in the log should not be escaped. We do this at the
# moment because JSON encoding can't handle binary data, and I don't
# want to base64 everything.
if self.server.logreq:
encoded_bytes = self.rfile.get_log().encode("string_escape")
log["request_bytes"] = encoded_bytes
log["request_bytes"] = self.rfile.get_log()
if self.server.logresp:
encoded_bytes = self.wfile.get_log().encode("string_escape")
log["response_bytes"] = encoded_bytes
log["response_bytes"] = self.wfile.get_log()
self.server.add_log(log)

View File

@ -3,8 +3,8 @@ import re
import shutil
import requests
from six.moves import cStringIO as StringIO
from six.moves import urllib
from six import BytesIO
import urllib
from netlib import tcp
from netlib import utils
@ -87,7 +87,7 @@ class DaemonTests(object):
)
with c.connect():
if params:
path = path + "?" + urllib.urlencode(params)
path = path + "?" + urllib.parse.urlencode(params)
resp = c.request("get:%s" % path)
return resp
@ -100,7 +100,7 @@ class DaemonTests(object):
)
with c.connect():
resp = c.request(
"get:/p/%s" % urllib.quote(spec).encode("string_escape")
"get:/p/%s" % urllib.parse.quote(spec).encode("string_escape")
)
return resp