Commit Graph

4965 Commits

Author SHA1 Message Date
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
Aldo Cortesi
b56de79d6c Merge pull request #1350 from cortesi/addons-cleanup
Addons cleanup
2016-07-14 11:36:53 +12:00
Aldo Cortesi
143bf0dfa9 AntiCache to addon 2016-07-14 11:24:06 +12:00
Aldo Cortesi
6e7b86cd82 Disable OSX tests on Travis for now
We'll re-enable as soon as this is sorted out:

https://github.com/travis-ci/travis-ci/issues/6303
2016-07-14 11:12:37 +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
711196592d Merge pull request #1349 from cortesi/addons
Addons: StickyAuth
2016-07-14 11:10:53 +12:00
Aldo Cortesi
c52d567b43 Handle OptionsError for command-line args. 2016-07-14 10:19:16 +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
696789b8ec func.__name__ works in both 2.7 and 3.5
Thanks to @resam and @dwfreed for pointing this out
2016-07-14 09:33:26 +12:00
Aldo Cortesi
07c3f90c5b Merge pull request #1348 from cortesi/addons
Addons
2016-07-14 00:42:12 +12:00
Aldo Cortesi
9ab1db513f Satisfy our ruthless linting overlords 2016-07-13 23:50:25 +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
1f72532cae Merge branch 'options' into addons 2016-07-13 23:27:06 +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
efc0b9fe7f Merge pull request #1347 from cortesi/options
Options
2016-07-13 22:57:31 +12:00
Aldo Cortesi
077850bd10 Raise AttributeError from Options.__getattr__ 2016-07-13 20:05:17 +12:00
Aldo Cortesi
c9a0fe6a0e Show how options integrates with console
This is not functional at the moment, because all mutable options are still on
master.
2016-07-13 19:15:38 +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
Clemens Brunner
2624911d75 fixed bug (#1342)
fix minor mitmweb issues
2016-07-12 14:52:33 -07:00