Aldo Cortesi
5f74adc2df
Merge pull request #3059 from obscure76/enh/issue-3053
...
fix Python 3.6 variable type annotations #3053
2018-04-16 07:35:20 +12:00
oscure76
0e984e1442
fix Python 3.6 variable type annotations #3053
2018-04-14 16:24:41 -07:00
Aldo Cortesi
865a373bd3
Merge pull request #3050 from kira0204/error-script
...
Handling user script's exceptions, fix #2839
2018-04-15 10:12:44 +12:00
Aldo Cortesi
8609de6f31
readfile: add a readfile_filter option
...
* Add a readfile_filter option that filters flows on read.
* Adjust test suite for asyncio.
* Add asynctest as a dev dependency.
2018-04-14 11:52:02 +12:00
kira0204
6780e5025a
Handling user script exceptions, fix #2839
2018-04-10 08:33:40 +05:30
Aldo Cortesi
9dcd15d350
asyncio: ditch the handler context
...
There are a few reasons for this. First, logs are now async, and can be called
at any time. Second, the event loop is thread local, so there can only ever be
one master per thread. These two things together completely obviate the need
for a handler context.
2018-04-07 09:04:14 +12:00
Aldo Cortesi
6a08ef465f
asyncio: remove master.add_log, in favor of a persistent log.Log instance
2018-04-07 09:02:10 +12:00
Aldo Cortesi
ea213782d8
asyncio: remove test master.has_log
...
Now that logs are async, using this call is almost always a mistake. Signal
this by making it semi-private. The method may go away entirely down the track.
2018-04-07 09:02:10 +12:00
Aldo Cortesi
80f2bac356
asyncio: move log mechanism onto the event loop
...
Logs are now asynchronous, with a log entry pushed onto the event loop for
handling. To support this, the test mechanism grows an await_log method that
waits for a log entry to appear.
2018-04-07 09:02:10 +12:00
Aldo Cortesi
0fa1280daa
asyncio simplify: we don't need a queue for proxy->main loop comms
...
Instead, we just schedule coroutines directly onto the core loop.
2018-04-07 08:59:08 +12:00
Aldo Cortesi
cdbe6f97af
asyncio: remove last vestiage of channel input from master
2018-04-07 08:59:08 +12:00
Aldo Cortesi
506ccc5693
Merge pull request #3031 from itzikBraun/add-httpie-export
...
added option to export request as httpie command
2018-04-06 10:02:02 +12:00
Aldo Cortesi
4177f50a0f
Merge pull request #2971 from kira0204/user-script-exception
...
A unified handler for user's scripts exception
2018-04-06 10:01:35 +12:00
Maximilian Hils
50ea3aa420
fix http retry timeout
...
this fixes #3038
2018-04-05 15:30:04 +02:00
Aldo Cortesi
659fceb697
minor fixes
2018-04-03 10:26:09 +12:00
Aldo Cortesi
7e73e5fa51
asyncio: factor out test server startup wait
2018-04-03 09:46:11 +12:00
itzikBraun
29f4164344
added option to export request as httpie command
2018-04-02 12:57:33 +02:00
Aldo Cortesi
14f461c5d5
asyncio: cleanup and lint
...
Also fix a racy websocket test.
2018-04-02 16:41:49 +12:00
Aldo Cortesi
a3da43d3e5
asyncio: test cleanup
...
Also silence asyncio logs. We sometimes end up with messages on the queue that
need to be ignored when the proxy shuts down, and asyncio complains loudly
about this.
2018-04-02 14:51:14 +12:00
Aldo Cortesi
2b040ff093
asyncio: make http2 tests pass
2018-04-02 11:03:05 +12:00
Aldo Cortesi
28a8ddc0e8
asyncio: fix a few remaining issues in proxy/test_server.py
2018-04-02 09:46:02 +12:00
Aldo Cortesi
3cc5d81a4a
asyncio: fix channel interface and tests
...
We now need to synthesize a tick event when changing addons in tests, because
tick is asynchronously called on the event loop.
2018-04-01 11:37:35 +12:00
Aldo Cortesi
54170ee657
asyncio: start a test loop for unit tests
...
Also move signal handling out of master. These only work in the main thread,
and properly belong in main.py.
2018-04-01 09:46:32 +12:00
Aldo Cortesi
976b2018a3
asyncio: clean up event loop acquisition
...
We now acquire the event loop through asyncio.get_event_loop, avoiding having
to pass the loop explicity in a bunch of places. This function does not return
the currently running loop from within coroutines in versions of Python prior
to 3.6.
2018-04-01 09:46:32 +12:00
Aldo Cortesi
a2d4519354
asyncio: brutally rip out our old queue mechanism
2018-04-01 09:46:32 +12:00
Thomas Kriechbaumer
46f8901b8c
Python 3.5 is dead -- long live Python 3.6!
...
fixes #2266
2018-03-31 18:46:32 +02:00
kira0204
22b5149777
use error handler function
2018-03-26 03:28:28 +05:30
Thomas Kriechbaumer
eb297d82aa
fix Tornado 5.0 event loop
...
https://github.com/tornadoweb/tornado/issues/2183#issuecomment-371001254
2018-03-24 11:19:04 +01:00
Maximilian Hils
fed54fa3d0
don't crash if server address is unknown, fix #2969
2018-03-23 04:26:46 +01:00
Aldo Cortesi
c5ad026cbe
bench: Add some very simple manual benchmarking helpers
...
This includes a profiler addon that we might consider for promotion to a
builtin down the track.
2018-03-17 10:06:46 +13:00
Maximilian Hils
2001184b6c
Merge pull request #2956 from kira0204/test-for-2850
...
Test for #2850
2018-03-15 00:29:52 +01:00
kira0204
8aad2d63cf
adding command
2018-03-12 09:13:29 +05:30
kira0204
5dcc3b4ff8
Testing using addon
2018-03-12 00:28:43 +05:30
kira0204
167e01acdf
fixing lint
2018-03-07 16:12:12 +05:30
kira0204
b8fbe71c93
User script exception handler[squash]
...
fixing 2837, added test
unified-function
deleting the wrong commit
2018-03-07 13:18:19 +05:30
kira0204
57197c3e6c
using asserts
2018-03-07 06:34:16 +05:30
kira0204
be50f3f481
wrong additions
...
test-for-2850
few fixes
mock testing
Typo error
2018-03-06 05:44:05 +05:30
Aldo Cortesi
bc6550abc5
Merge pull request #2945 from kajojify/shortening
...
Polite shortening of statusbar messages. Fix #1433
2018-03-05 09:07:18 +13:00
Maximilian Hils
a2740ee4ae
Merge pull request #2868 from kira0204/data-crash
...
Fix crashing when editing form with random data, fix #2794
2018-03-04 19:53:15 +01:00
Miroslav
237320a539
Minor fixes.
...
Renaming prep_message method to shorten_message.
Docstring.
\u2026 instead of ....
max_width parameter.
2018-03-03 22:12:56 +02:00
Miroslav
0dcdb6c3cc
Finalization of tests. Conditions rewritten again.
2018-03-02 23:40:58 +02:00
Miroslav
d151c6c322
Initial tests. New conditions.
2018-03-01 01:18:05 +02:00
Maximilian Hils
944e81dcfc
clean up ProxyConfig
...
some of these options weren't even used anymore,
others only in one place where it makes sense to use options directly.
2018-02-27 19:05:59 +01:00
Aldo Cortesi
7bd63ee713
Start consolidating core options
...
This is a preparatory patch that paves the way to consolidating our core
options in the core addon. It amalgamates the core_option_validation and core
addons, prepares the test suite for a world where options live in core, and
moves over two trivial options as a trial balloon.
From here, things will get harder, but at the end of the process we'll have a
core that's responsive to options.
2018-02-26 11:26:32 +13:00
Aldo Cortesi
e5cdc20eb8
Split dumper_filter off from view_filter
...
These don't even do the same thing.
2018-02-26 09:43:15 +13:00
Aldo Cortesi
2fb85553cc
Revamp verbosity options
...
Split verbosity into termlog_verbosity and console_eventlog_verbosity.
This patch also removes printing to console if there are unknown options in the
command-line. Options now live in separate addons, so having uknown options
remaining is common and expected. We definitely shoould have some other way for
users to see what was ignored so they can catch typos and the like, but that's
a different patch.
2018-02-26 09:02:24 +13:00
Aldo Cortesi
154309b811
Merge pull request #2909 from fristonio/Fix-2867
...
Fix test fails in test_xss_scanner when running tox without internet connection.
2018-02-25 23:00:23 +13:00
luz.paz
afbb7f117b
Misc. typos
...
Found via `codespell -q 3 -I ../mitmproxy-word-whitelist.txt`
Where whitelist contains:
```
cas
doubleclick
nd
ot
seeked
statics
te
thru
```
2018-02-24 21:45:11 -05:00
Aldo Cortesi
6b5b71aefa
Merge pull request #2907 from cortesi/optionscomp
...
Start moving more complicated options over to /addons
2018-02-25 10:15:21 +13:00
Deepesh Pathak
9fed4fa40a
Fix test fails in test_xss_scanner when running tox without internet connections.
...
- Add mock implementation for gethostbyname in test_xss_scanner.
- Fix failed tests when running tox without internet connection.
- Fixes #2867
2018-02-24 16:50:40 +05:30