Commit Graph

21 Commits

Author SHA1 Message Date
autofix-ci[bot] 8c2428c9d3
[autofix.ci] apply automated fixes 2022-11-29 13:28:41 +00:00
Maximilian Hils 8361c81cdf add autofix.ci 2022-11-29 14:27:35 +01:00
Manuel Meitinger 3d39c52048 [quic] mode tests 2022-10-31 02:23:51 +01:00
Maximilian Hils dc8ff24685 don't remove `add_log` but deprecate it. 2022-09-18 13:45:37 +02:00
Maximilian Hils c69239bb90 switch to stdlib logging
mitmproxy previously used a homegrown logging mechanism based around
`mitmproxy.ctx.log` and the `add_log` hook. This worked well for everything
we control, but does not work outside the mitmproxy universe.
For now we have simply ignored logging in e.g. tornado or h2, but with the
upcoming introduction of mitmproxy_wireguard we now have a dependency
on some Rust/PyO3 code for which we definitely want logs, but which also
cannot easily be changed to use our homegrown logging (PyO3 does the heavy
lifting to add interoperability with stdlib logging). Long story short,
we want to introduce a log handler for stdlib logging.

Now there are two ways how such a handler could operate:

 1. We could build a handler that forwards all stdlib log events
    into our homegrown mechanism.
 2. We embrace stdlib's logging as the correct way to do things,
    and get rid of our homegrown stuff.

This PR follows the second approach by removing the `add_log` hook and
rewriting the `TermLog` and `EventStore` addons to listen for stdlib log records.
This means that all `mitmproxy.ctx.log.info` events are now simply `logging.info` etc.

One upside of this approach is that many parts of the codebase now don't depend
on the existence of `mitmproxy.ctx` and we can use off-the-shelf things like pytest's
`caplog`. We can also now better colorize log output and/or add timestamps.
2022-09-17 17:28:35 +02:00
Manuel Meitinger cd4a74fae7
Add support for raw UDP. (#5414) 2022-07-27 02:20:30 +02:00
Maximilian Hils b3587b52b2 make it black! 2022-04-28 19:11:10 +02:00
Maximilian Hils b31ad66225 `autoflake --in-place **/*.py` 2022-04-26 13:52:46 +02:00
Maximilian Hils e83ec8390a `pyupgrade --py39-plus **/*.py` 2022-04-26 13:51:11 +02:00
Manuel Meitinger f1d937bf4b Merge branch 'main' of https://github.com/mitmproxy/mitmproxy into dns 2022-03-29 22:43:08 +02:00
Maximilian Hils beb49ab121 don't use #noqa for imports 2022-03-29 13:51:08 +02:00
Manuel Meitinger af2251c2ef [dns] minor fixes 2022-03-27 15:23:59 +02:00
Maximilian Hils 3cb87f5a2f split `tls_handshake` hook into client/server and success/fail variants 2021-11-22 10:23:21 +01:00
Maximilian Hils 9f39e2f387 tests++ 2021-09-04 16:03:06 +02:00
Maximilian Hils a3eca0b859 socks5 upstream auth: use proxyauth option 2021-08-25 17:23:49 +02:00
Alexander Prinzhorn aee4df7c4a
remove websocket_error event, fixes #4674
Technically there is no websocket error but different close codes. Similar to how an internal server error is not an error in HTTP, but just a different status code.
2021-07-14 09:09:59 +02:00
Alexander Prinzhorn eef6522a5e remove websocket_error event, fixes #4674 2021-07-12 16:35:25 +02:00
Alexander Prinzhorn d4bc25fce9
separate tls_start hooks for client and server, fixes #4665, refs #4547 (#4666) 2021-07-09 20:15:38 +02:00
Maximilian Hils 76f0b8f65e fix tests 2021-06-15 10:45:26 +02:00
Maximilian Hils 51193f1d20 api docs++ 2021-02-05 09:15:54 +01:00
Maximilian Hils a7d1f32c89 docs: first prototype to link from events to API reference 2021-02-05 09:15:54 +01:00