Commit Graph

5348 Commits

Author SHA1 Message Date
Maximilian Hils
9c873d63f4 py3++, multidict fixes
This commit improves Python 3 compatibility and fixes two multidict
issues:

 1. Headers.items(multi=True) now decodes fields
 2. MultiDict.clear(item) has been removed, as Python's
    MutableMapping already defines .clear() with different
    semantics. This is confusing for everyone who expects a
    dict-like object. `.pop("attr", None)` is not fantastic,
    but it's the Python way to do it.
2016-07-06 19:53:29 -07:00
Maximilian Hils
55fae7cea9 Merge pull request #1319 from mitmproxy/fix-py27-encoding-issues
Fix pathod log encoding
2016-07-06 17:35:34 -07:00
Maximilian Hils
444f0a4c39 py3++ 2016-07-06 17:31:08 -07:00
Maximilian Hils
8b564bc934 fix pathod log encoding 2016-07-06 16:47:32 -07:00
Maximilian Hils
811b72cd30 blacklist pysftp 0.2.9
https://bitbucket.org/dundeemt/pysftp/issues/97/pysftp-029-breaks-builds
2016-07-06 13:01:24 -07:00
Maximilian Hils
38fd1d3ad7 fix issue introduced in 72f3b2b 2016-07-06 12:14:48 -07:00
Maximilian Hils
72f3b2bb17 minor code improvement 2016-07-05 19:32:25 -07:00
Maximilian Hils
c9b7f34265 Merge branch 'dont-cache-tox' 2016-07-05 18:36:25 -07:00
Maximilian Hils
e84f5fcc72 Merge pull request #1315 from mitmproxy/better-unicode-handling
remove clean_bin, clarify unicode handling
2016-07-05 16:02:37 -07:00
Maximilian Hils
882b8b5d80 don't cache tox on CI 2016-07-05 15:58:52 -07:00
Maximilian Hils
09d6782722 Merge pull request #1316 from mhils/faster-lint
tox: dont make sdist when linting
2016-07-05 15:40:10 -07:00
Maximilian Hils
00a35aa895 Merge pull request #1297 from dufferzafar/py3-flow-export
Python 3 - test_flow_export
2016-07-05 15:17:18 -07:00
Maximilian Hils
d51cf543bb remove clean_bin, clarify unicode handling 2016-07-05 15:11:32 -07:00
Maximilian Hils
45a634783a tox: dont make sdist when linting 2016-07-05 15:03:40 -07:00
Thomas Kriechbaumer
317a5178ea Merge pull request #1244 from Kriechi/http2-tests
http2: tests++
2016-07-05 22:33:39 +02:00
Thomas Kriechbaumer
5fecb8c843 http2: test fatal connection termination 2016-07-05 22:15:57 +02:00
Thomas Kriechbaumer
8d2042ea8a http2: test throttling at MAX_CONCURRENT_STREAMS 2016-07-05 22:15:57 +02:00
Thomas Kriechbaumer
05de3b759f http2: remove forbidden headers
E.g.: send_error_reponse sets a connection header
2016-07-05 22:15:57 +02:00
Thomas Kriechbaumer
ba9851db02 always recreate tox envs 2016-07-05 21:13:24 +02:00
Thomas Kriechbaumer
50fdb01553 prevent early priority changes 2016-07-05 21:02:19 +02:00
Thomas Kriechbaumer
1adcd6ad6b Merge pull request #1245 from Kriechi/http2-priority-information
http2: handle priority information better
2016-07-05 20:56:01 +02:00
Thomas Kriechbaumer
64880e7ebd handle related events from h2 2016-07-05 20:14:28 +02:00
Thomas Kriechbaumer
47db346959 improve end_stream handling
To replicate requests as close as possible frame-by-frame.

This fixes an issue with broken HTTP/2 implemenation by Akamai and
Twitter, which raise an error if we send an empty DataFrame only to
indicate END_STREAM.
2016-07-05 20:14:28 +02:00
Thomas Kriechbaumer
aa1b203182 http2: implement direct handling of priority 2016-07-05 20:14:28 +02:00
Thomas Kriechbaumer
69e20b34de bump h2 dependency 2016-07-05 20:14:28 +02:00
Jason
09ab2528f5 [web] bug fixs 2016-07-05 13:57:32 -04:00
Jason
7b543dd95c [web] bug fix 2016-07-05 13:43:37 -04:00
Jason
db991e2bcc [web] set display large 2016-07-05 22:49:41 +08:00
Jason
af2319aa64 [web] listen to window.onKeyDown 2016-07-05 22:28:00 +08:00
Jason
9bfde2a3ae [web] change ducks/ui 2016-07-05 11:12:07 +08:00
Maximilian Hils
ca9de786fd minor fix 2016-07-04 15:07:01 -07:00
Maximilian Hils
a6b3551934 raise ValueError if content-encoding is invalid 2016-07-04 13:58:09 -07:00
Thomas Kriechbaumer
23e295b37e py3: fix bytes vs. str 2016-07-03 23:22:04 +02:00
Shadab Zafar
45aa2174e2 http2: Remove TestReadRequestConnect test 2016-07-03 21:14:01 +05:30
Shadab Zafar
d361177753 h2: move header parsing to netlib 2016-07-03 18:03:34 +05:30
Shadab Zafar
f623b3d99b py3++: test_flow_export 2016-07-02 21:15:20 +05:30
Shadab Zafar
17b727321f Replace map + lambda with list comprehensions 2016-07-02 21:15:20 +05:30
Shadab Zafar
5b5a3ffa8e netlib: condition on PY2 rather than on PY3
Let's just hope PY4 doesn't break this!
2016-07-02 21:15:20 +05:30
Thomas Kriechbaumer
f70fd1b4b6 Merge pull request #1308 from dufferzafar/lint-hotfix
fix lint issues
2016-07-02 15:49:37 +02:00
Shadab Zafar
393c1d74af fix lint issues 2016-07-02 18:56:22 +05:30
Maximilian Hils
2f8a1fd2cb tests++ 2016-07-02 03:03:42 -07:00
Maximilian Hils
d9f797e7e6 make the linter happy 2016-07-02 02:11:00 -07:00
Maximilian Hils
dbf7cb1a44 update examples: no decoded() anymore 🎉 2016-07-02 02:01:46 -07:00
Maximilian Hils
6032c4f235 message.content -> .raw_content, implement .text
This PR improves our handling of HTTP message body encodings:

- The unaltered message body is now accessible as `.raw_content`
- The "content-encoding"-decoded content (i.e. gzip removed) content
  is not `.content`, as this is what we want in 99% of the cases.
- `.text` now provides the "content-encoding"-decoded and then
  "content-type charset"-decoded message body.
- The decoded values for `.content` and `.text` are cached,
  so that repeated access and `x.text = x.text` is cheap.
- The `decoded()` decorator is now deprecated, as we can now just use
  `.content`. Similarly `HTTPMessage.get_decoded_content()` is
  deprecated.
2016-07-02 01:51:47 -07:00
Maximilian Hils
2c09e0416b minor fixes 2016-07-01 17:49:18 -07:00
Maximilian Hils
fa72462798 fix tcp message handling 2016-07-01 17:17:16 -07:00
Maximilian Hils
536c7acd13 py3++ 2016-07-01 14:10:48 -07:00
Shadab Zafar
e0ed7699ca Handle case when scheme is None 2016-07-01 10:23:04 -07:00
Shadab Zafar
268e42e55e py3++: test/mitmproxy/test_server 2016-07-01 10:23:04 -07:00
Jason
8f73dc79c0 [web] ui ducks for content view 2016-07-01 23:44:48 +08:00