Commit Graph

4933 Commits

Author SHA1 Message Date
Aldo Cortesi
b5bbeb0ff3 dumper: correctly detect request replay
Fixes #1361
2016-07-17 11:11:22 +12:00
Aldo Cortesi
ca7ca8ec24 The "handled" flag on responses should not persist across calls 2016-07-17 11:06:29 +12:00
Aldo Cortesi
11bd911e45 Some mild refactoring of dumper.py 2016-07-17 11:00:36 +12:00
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
Aldo Cortesi
903807292b Merge pull request #1363 from cortesi/replace
replacehooks -> addon
2016-07-16 18:57:41 +12: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
17305643bc console: don't let messages overwrite prompts
This renders mitmproxy unresponsive and is bad UX as well.
2016-07-16 11:48:16 +12:00
Aldo Cortesi
50c76ac4ff Merge pull request #1362 from cortesi/errors
Some work on errors and logs
2016-07-16 11:46:01 +12:00
Aldo Cortesi
50f1495f29 Make mitmdump return an error exit status if errors occurred during run 2016-07-16 10:59:47 +12:00
Aldo Cortesi
33d03d916a Flash a status bar message if an error log event occurs 2016-07-16 10:39:49 +12:00
Aldo Cortesi
49b65d2ea4 Add a helper to translate a log level to a tier
This is in utils for now - we'll find a better home down the track.
2016-07-16 10:33:50 +12:00
Aldo Cortesi
91e9016ce5 Trigger "start" when scripts are reloaded. 2016-07-16 10:21:00 +12: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
5a60f32c55 Fix log level handling
We have 4: error, warn, info and debug.
2016-07-16 09:23:52 +12:00
Aldo Cortesi
532ae7dc4a Add addons after initialisation in mitmproxy console
The main effect of this is that we now properly capture errors on startup that
were ignored before.
2016-07-16 09:22:56 +12:00
Aldo Cortesi
c4fb489a96 Zap unused test scripts 2016-07-15 22:37:52 +12:00
Maximilian Hils
60d2e14cb9 fix #1358 2016-07-15 00:07:32 -07:00
Aldo Cortesi
64e16f5112 Merge pull request #1356 from cortesi/script
Scripts to addon
2016-07-15 16:48:01 +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
8fee5db675 Always use PollingObserver 2016-07-14 21:33:53 +12:00
Aldo Cortesi
9f1c46e7d6 Merge branch 'master' into script 2016-07-14 20:26:34 +12:00
Aldo Cortesi
e051928f26 Add missing mitmweb option 2016-07-14 20:24:56 +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
5b2d1c044a Tighten the tick loop
In the past, we consumed from the event queue until we were idle for a certain
amount of time (0.1s). This would cause hangs in interactive tools when there
was a stream of events, hurting responsiveness. We now wait for a maximum of
0.1s before triggering the tick loop, will be able to reduce this further down
the track.
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
Aldo Cortesi
c852c3c88d Merge pull request #1354 from mhils/explicit-options
Make options explicit
2016-07-14 18:17:34 +12: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
b8a23eeaa3 Merge pull request #1353 from cortesi/stream
Streaming to file -> addon
2016-07-14 14:09:59 +12: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
941919190b Merge pull request #1352 from cortesi/stickycookie
StickyCookies to addon
2016-07-14 13:14:04 +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
cf3b3d206a Zap unused imports 2016-07-14 12:45:00 +12:00
Aldo Cortesi
120465a142 Ditch StickyCookie module 2016-07-14 12:17:28 +12:00
Aldo Cortesi
00509d86a8 StickyCookies to addon 2016-07-14 12:13:14 +12:00
Aldo Cortesi
c0cd01b6e3 Merge pull request #1351 from cortesi/anticache
AntiCache to addon
2016-07-14 12:09:21 +12:00
Aldo Cortesi
b5a69e2398 Merge remote-tracking branch 'upstream/master' into anticache 2016-07-14 11:38:23 +12:00