From e6eeab60946e61047ed858422badbda189a6f9e8 Mon Sep 17 00:00:00 2001 From: Aldo Cortesi Date: Tue, 25 Apr 2017 19:06:24 +1200 Subject: Revamp how addons work - Addons now nest, which means that addons can manage addons. This has a number of salutary effects - the scripts addon no longer has to poke into the global addons list, we no longer have to replace/remove/boot-outof parent addons when we load scripts, and this paves the way for making our top-level tools into addons themselves. - All addon calls are now wrapped in a safe execution environment where exceptions are caught, and output to stdout/stderr are intercepted and turned into logs. - We no longer support script arguments in sys.argv - creating an option properly is the only way to pass arguments. This means that all scripts are always directly controllable from interctive tooling, and that arguments are type-checked. For now, I've disabled testing of the har dump example - it needs to be moved to the new argument handling, and become a class addon. I'll address that in a separate patch. --- docs/scripting/overview.rst | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) (limited to 'docs/scripting/overview.rst') diff --git a/docs/scripting/overview.rst b/docs/scripting/overview.rst index 6ec0caaa..c333a98b 100644 --- a/docs/scripting/overview.rst +++ b/docs/scripting/overview.rst @@ -54,24 +54,8 @@ and is replaced by the class instance. Handling arguments ------------------ -Scripts can handle their own command-line arguments, just like any other Python -program. Let's build on the example above to do something slightly more -sophisticated - replace one value with another in all responses. Mitmproxy's -`HTTPRequest `_ and `HTTPResponse -`_ objects have a handy `replace -`_ method that takes care -of all the details for us. - -.. literalinclude:: ../../examples/simple/script_arguments.py - :caption: :src:`examples/simple/script_arguments.py` - :language: python - -We can now call this script on the command-line like this: - ->>> mitmdump -dd -s "./script_arguments.py html faketml" -Whenever a handler is called, mitpmroxy rewrites the script environment so that -it sees its own arguments as if it was invoked from the command-line. +FIXME Logging and the context -- cgit v1.2.3