mitmproxy/examples/addons
mame82 480052f58b
Grpc contentview (#4851)
* Partial gRPC contentview prototype, not linted, no tests, not as add-on

* Linted (flake8)

* Save dev state

* Rewrote of protobuf parser, use decoding strategy, reduced rendered data. Parser uses  generators

* minor cleanup

* fix: preferred encoding was provided as function instead of value

* flake8: line length

* Backlinked message tree objects, temporary debug out

* Partial implementation of gRPC definitions. Save state to fix a cras (data invalidate in edit mode)

* hack: deal with missing exception handling for generator based content views

* gRPC/Protoparser descriptions (with test code)

* replaced manual gzip decoding with mitmproxy.net.encoding.decode

* Refactored typing imports

* Reafctoring

* distinguish request vs response definitions, separate view config from parser config

* Code cleaning, moved customized protobuf definitions to example addon

* final cleanup

* changelog

* Stubs for tests

* Fixed render_riority of addon example

* Started adding tests

* Work on tests

* mypy

* Added pseudo encoder to tests, to cover special decodings

* Example addon test added

* finalized tests, no 100 percent coverage possible, see comments un uncovered code

* minor adjustments

* fixup tests

* Typos

Co-authored-by: Maximilian Hils <git@maximilianhils.com>
2021-10-12 13:32:56 +02:00
..
anatomy2.py docs++ 2021-02-13 00:13:37 +01:00
anatomy.py restructure examples 2020-06-23 16:00:14 +02:00
commands-flows.py update mypy 2021-02-03 23:03:49 +01:00
commands-paths.py update mypy 2021-02-03 23:03:49 +01:00
commands-simple.py restructure examples 2020-06-23 16:00:14 +02:00
contentview-custom-grpc.py Grpc contentview (#4851) 2021-10-12 13:32:56 +02:00
contentview.py contentview example: be explicit about passed metadata 2021-10-07 15:21:46 +02:00
duplicate-modify-replay.py HTTPRequest -> http.Request, add request.authority 2020-07-16 16:55:15 +02:00
filter-flows.py improve flowfilter api: raise on invalid input, add ~all 2021-10-08 17:45:47 +02:00
http-add-header.py restructure examples 2020-06-23 16:00:14 +02:00
http-modify-form.py restructure examples 2020-06-23 16:00:14 +02:00
http-modify-query-string.py restructure examples 2020-06-23 16:00:14 +02:00
http-redirect-requests.py restructure examples 2020-06-23 16:00:14 +02:00
http-reply-from-proxy.py move Headers/Message/Request/Response into mitmproxy.http 2021-02-05 08:43:15 +01:00
http-stream-modify.py update streaming example 2021-08-02 13:57:12 +02:00
http-stream-simple.py restructure examples 2020-06-23 16:00:14 +02:00
http-trailers.py docs++ 2021-02-13 00:13:37 +01:00
internet-in-mirror.py docs++ 2021-02-13 00:13:37 +01:00
io-read-saved-flows.py update mypy 2021-02-03 23:03:49 +01:00
io-write-flow-file.py restructure examples 2020-06-23 16:00:14 +02:00
log-events.py restructure examples 2020-06-23 16:00:14 +02:00
nonblocking.py pyupgrade --py36-plus mitmproxy/**/*.py 2020-11-20 19:25:26 +01:00
options-configure.py restructure examples 2020-06-23 16:00:14 +02:00
options-simple.py restructure examples 2020-06-23 16:00:14 +02:00
shutdown.py add example to shutdown the proxy master 2020-11-29 17:13:44 +01:00
tcp-simple.py restructure examples 2020-06-23 16:00:14 +02:00
websocket-inject-message.py update ws injection example, fixes #4751 (#4761) 2021-08-18 11:37:28 +00:00
websocket-simple.py WebSocketMessage.kill() -> .drop() 2021-07-15 14:57:43 +02:00
wsgi-flask-app.py add ASGI support for embedded apps 2020-08-13 17:22:31 +02:00