aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--MANIFEST.in1
-rw-r--r--libmproxy/console/__init__.py1
-rw-r--r--libmproxy/console/flowview.py9
-rw-r--r--libmproxy/flow.py6
-rwxr-xr-xmitmproxy6
-rw-r--r--setup.py4
6 files changed, 18 insertions, 9 deletions
diff --git a/MANIFEST.in b/MANIFEST.in
index f1465cd9..d1426c13 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -2,6 +2,7 @@ include LICENSE
include CHANGELOG
include CONTRIBUTORS
include README.txt
+include setup.py
exclude README.mkd
recursive-include examples *
recursive-include doc *
diff --git a/libmproxy/console/__init__.py b/libmproxy/console/__init__.py
index fe75a047..ba699d33 100644
--- a/libmproxy/console/__init__.py
+++ b/libmproxy/console/__init__.py
@@ -526,6 +526,7 @@ class ConsoleMaster(flow.FlowMaster):
def spawn_external_viewer(self, data, contenttype):
if contenttype:
+ contenttype = contenttype.split(";")[0]
ext = mimetypes.guess_extension(contenttype) or ""
else:
ext = ""
diff --git a/libmproxy/console/flowview.py b/libmproxy/console/flowview.py
index 8932b912..da5a6c65 100644
--- a/libmproxy/console/flowview.py
+++ b/libmproxy/console/flowview.py
@@ -16,7 +16,7 @@
import os, sys
import urwid
import common, grideditor, contentview
-from .. import utils, flow
+from .. import utils, flow, controller
def _mkhelp():
text = []
@@ -341,7 +341,12 @@ class FlowView(common.WWrap):
conn = self.flow.request
else:
if not self.flow.response:
- self.flow.response = flow.Response(self.flow.request, 200, "OK", flow.ODictCaseless(), "", None)
+ self.flow.response = flow.Response(
+ self.flow.request,
+ self.flow.request.httpversion,
+ 200, "OK", flow.ODictCaseless(), "", None
+ )
+ self.flow.response.reply = controller.DummyReply()
conn = self.flow.response
self.flow.backup()
diff --git a/libmproxy/flow.py b/libmproxy/flow.py
index 1d15029b..10c5da5d 100644
--- a/libmproxy/flow.py
+++ b/libmproxy/flow.py
@@ -542,7 +542,7 @@ class Request(HTTPMsg):
headers["host"] = [utils.hostport(self.scheme, self.host, self.port)]
content = self.content
if content:
- headers["content-length"] = [str(len(content))]
+ headers["Content-Length"] = [str(len(content))]
else:
content = ""
if self.close:
@@ -737,7 +737,7 @@ class Response(HTTPMsg):
['proxy-connection', 'transfer-encoding']
)
if self.content:
- headers["content-length"] = [str(len(self.content))]
+ headers["Content-Length"] = [str(len(self.content))]
proto = "HTTP/%s.%s %s %s"%(self.httpversion[0], self.httpversion[1], self.code, str(self.msg))
data = (proto, str(headers))
return FMT%data
@@ -1548,7 +1548,7 @@ class FlowMaster(controller.Master):
if f.request:
f.request._set_replay()
if f.request.content:
- f.request.headers["content-length"] = [str(len(f.request.content))]
+ f.request.headers["Content-Length"] = [str(len(f.request.content))]
f.response = None
f.error = None
self.process_new_request(f)
diff --git a/mitmproxy b/mitmproxy
index 2d773c02..f8b42444 100755
--- a/mitmproxy
+++ b/mitmproxy
@@ -62,12 +62,14 @@ if __name__ == '__main__':
opts.debug = options.debug
opts.palette = options.palette
- if "utf" not in os.environ.get("LANG", "").lower():
+ spec = ""
+ for i in ["LANG", "LC_CTYPE", "LC_ALL"]:
+ spec += os.environ.get(i, "").lower()
+ if "utf" not in spec:
print >> sys.stderr, "Error: mitmproxy requires a UTF console environment."
print >> sys.stderr, "Set your LANG enviroment variable to something like en_US.UTF-8"
sys.exit(1)
-
m = console.ConsoleMaster(server, opts)
try:
m.run()
diff --git a/setup.py b/setup.py
index 2ba8ba66..8dbc6135 100644
--- a/setup.py
+++ b/setup.py
@@ -79,7 +79,7 @@ setup(
package_data = package_data,
scripts = ["mitmproxy", "mitmdump"],
classifiers = [
- "License :: OSI Approved :: GNU General Public License (GPL)",
+ "License :: OSI Approved :: MIT License",
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Environment :: Console :: Curses",
@@ -96,7 +96,7 @@ setup(
"netlib>=%s"%version.VERSION,
"urwid>=1.1",
"pyasn1>0.1.2",
- "pyopenssl>=0.12",
+ "pyopenssl>=0.13",
"PIL",
"lxml",
"flask"