Aldo Cortesi
b0b3b19ad6
Extract console dump functionality into an addon
...
This removes all the code that deals with printing flows to screen from dump.py
into a self-contained addon.
- This fixes a bug - by moving dumping into an
addon, we now dump flows AFTER addon transformation, so we can see the changes
made.
- We get dumping "for free" in other places by simply adding the addon. It's
now easy to add dumping to console to mitmweb for debugging and development.
The same goes for external projects that derive from master.
- We also get major benefits in clarity for a frankly hairy part of our
project. Mitmdump is much clearer, and all the hairyness is now isolated for
further refactoring.
2016-07-17 10:17:02 +12:00
Maximilian Hils
b27d59095d
Merge pull request #1306 from mitmproxy/message-body-encoding
...
Improve Message Body Encoding
2016-07-16 00:13:58 -07:00
Maximilian Hils
e6e39ce80f
preserve content-type parameter order
2016-07-15 23:46:12 -07:00
Aldo Cortesi
1a1f7e6fd9
replacehooks -> addon
...
Also fixes a bug in header replacements in netlib that resulted in a mutable
multidict.
2016-07-16 18:37:30 +12:00
Maximilian Hils
3602fd7a36
Merge remote-tracking branch 'origin/master' into message-body-encoding
2016-07-15 23:17:57 -07:00
Maximilian Hils
a3c7c84d49
improve message content semantics
2016-07-15 22:50:33 -07:00
Aldo Cortesi
5f23d4f5ca
add_event -> add_log throughout project
...
"Event" is terribly over-loaded in the project, and "log" is straight-forward
and self-explanatory.
2016-07-16 10:19:06 +12:00
Aldo Cortesi
c4fb489a96
Zap unused test scripts
2016-07-15 22:37:52 +12:00
Aldo Cortesi
c7d0850d8f
Script cleanups
...
- Preserve script order on config change
- Prohibit script duplicates (i.e. identical script + args)
- Various cleanups and tweaks
2016-07-15 16:35:24 +12:00
Aldo Cortesi
917d51bd22
Fix HAR extractor
...
Thanks to @mhils
2016-07-15 15:01:35 +12:00
Aldo Cortesi
92a5076bd0
Adjust concurrent tests for start method
2016-07-15 15:00:37 +12:00
Aldo Cortesi
4ba7ce50c6
Add .start for addons and scripts
...
Also improve error messages, fix various unit tests
2016-07-15 14:52:34 +12:00
Aldo Cortesi
fcc1416ffd
Fix windows parse_args test
2016-07-15 10:33:51 +12:00
Aldo Cortesi
698af945a4
Adjust for new options scheme
2016-07-14 19:58:12 +12:00
Aldo Cortesi
a4127fb6d5
Add a tick event for addons and scripts, and use it for race-free reload
2016-07-14 19:54:15 +12:00
Aldo Cortesi
deffed2196
Script cleanup: editing in console, Python3 compatibility fixes
2016-07-14 19:54:15 +12:00
Aldo Cortesi
b94f5fd361
Convert examples and example tests for new-style scripts
...
Remove the test that just loads all the example scripts for now - it's a very
low-value test, and we need to think of something better.
2016-07-14 19:54:15 +12:00
Aldo Cortesi
a6821aad8e
Zap old scripts infrastructure, fix concurrency tests
2016-07-14 19:54:15 +12:00
Aldo Cortesi
a3a22fba33
First-order integration of scripts addon
2016-07-14 19:54:15 +12:00
Shadab Zafar
1266255842
Re-add deletion of stickycookies ( #1355 )
...
This was originally added in #1324 (fixing issue #1096 )
but got lost during "the big refactor" (#1352 )
2016-07-14 00:37:27 -07:00
Maximilian Hils
f84a23f11d
minor fixes
2016-07-13 22:01:16 -07:00
Maximilian Hils
ec6fbe9eb6
make options explicit
2016-07-13 21:45:25 -07:00
Aldo Cortesi
b2c4f301cb
Stream to file -> addon
...
This commit also clarifies a confusion about the "outfile" attribute and its
use in testing in the mitmdump master.
2016-07-14 13:52:09 +12:00
Aldo Cortesi
703c05066e
Fix indeterminacy in sticky cookie tests
...
How has this not bitten us before?
2016-07-14 12:59:00 +12:00
Aldo Cortesi
00509d86a8
StickyCookies to addon
2016-07-14 12:13:14 +12:00
Aldo Cortesi
143bf0dfa9
AntiCache to addon
2016-07-14 11:24:06 +12:00
Aldo Cortesi
97b2e6d958
Add a .setter helper to Options
...
This returns a function that sets a named attribute, and is handy for
event-driven code like mitmproxy console.
2016-07-14 11:11:41 +12:00
Aldo Cortesi
a8a083a10d
Move StickyAuth into addon
...
This is the first addon that handles an OptionsError, so this commit also demos
how this works in console. Handling of command-line erorrs is on its way.
2016-07-14 10:08:41 +12:00
Aldo Cortesi
255e1eb00b
Add the addons mechanism
...
Demonstrate how it works and interacts with Options by adding our first new
builtin: anticomp.
2016-07-13 23:45:49 +12:00
Aldo Cortesi
7f8fd3cdff
Basic outline of addons
...
Add addons.py, integrate with our event mechanism, and change the Master API so
options is the first init argument.
2016-07-13 23:26:04 +12:00
Aldo Cortesi
a20f8e9620
More powerful Options scheme
...
This prepares us for the addon configuration mechanism and gives us a more
flexible way to handle options changes. This changeset should spell the end of
the current anti-pattern in our codebase where we duplicate data out of options
onto the master when mutability is needed. From now on, Options can be the one
source of thruth.
- Change notifications
- Rollback on error
2016-07-13 18:45:50 +12:00
Thomas Kriechbaumer
3579c6dd43
http2: fix race-condition in tests
2016-07-12 19:55:28 +02:00
Thomas Kriechbaumer
7c09255298
http2: more coverage
2016-07-10 20:07:43 +02:00
Thomas Kriechbaumer
b611997619
http2: simplify test class
2016-07-10 18:53:00 +02:00
Shadab Zafar
7eade1ef7c
Remove redundant tests
2016-07-10 01:08:02 +05:30
Shadab Zafar
39f5108400
Test cookies.is_expired separately
2016-07-10 01:06:50 +05:30
Shadab Zafar
6a746deff5
Add tests for deletion of stickycookies
2016-07-09 22:20:25 +05:30
Shadab Zafar
83a1cc5a9a
Make escape_control_characters handle strings on Py2
2016-07-09 13:28:20 +05:30
Shadab Zafar
c7cbbf5f0d
Set verbosity & flow_detail to 0
2016-07-09 12:32:41 +05:30
Shadab Zafar
147f61fa62
py3++
2016-07-09 11:14:12 +05:30
Maximilian Hils
15c10d49f6
Merge pull request #1327 from mitmproxy/remove-script-context
...
Remove script context
2016-07-08 20:11:12 -07:00
Maximilian Hils
5d2b7c52f9
move script context to mitmproxy.ctx
2016-07-08 19:57:57 -07:00
Maximilian Hils
f7639e077a
py3++
2016-07-08 15:58:12 -07:00
jpkrause
05ab9c1b37
Updated coding style and modified flow format compat test to use v0.11 and v0.10 dump files
2016-07-08 15:03:36 -07:00
Maximilian Hils
7c67faa8da
remove script contexts
2016-07-07 23:50:55 -07:00
Maximilian Hils
c048ae1d5b
remove context from all scripts
2016-07-07 20:14:52 -07:00
Maximilian Hils
00dce24015
tests++
2016-07-07 18:02:59 -07:00
Maximilian Hils
76473d44e0
py3++
2016-07-07 17:50:26 -07:00
Maximilian Hils
f62e976e1e
py3++
2016-07-07 17:29:22 -07:00
Thomas Kriechbaumer
d962bd4e83
py3++
2016-07-07 20:25:48 +02:00