Maximilian Hils
2e2daeed89
refactor common.format_keyvals
...
the semantics here were really quite unclear,
now it is hopefully a bit more obvious what's happening.
Once we are Python 3.6+ exclusively, we may consider changing
the signature to accept a (order-preserving) dict instead of a list.
2018-01-05 16:45:50 +01:00
Maximilian Hils
c2adcb58f4
fix test flow timestamps to values that don't overflow in certain timezones
2018-01-05 16:45:43 +01:00
Maximilian Hils
dd7902cf7f
fix #2470
2018-01-04 16:31:45 +01:00
Maximilian Hils
d38b5e8552
do not add leading zeroes to .dev version part.
...
wheel normalizes to no leading zeroes, and we don't want to special-case
that.
2018-01-04 15:42:09 +01:00
Maximilian Hils
d9d4d15ee0
Merge pull request #2733 from mitmproxy/pyinstaller
...
Update PyInstaller, add dev version info to builds.
2017-12-30 22:29:49 +01:00
Maximilian Hils
9dc3d16bf2
single-source version processing
2017-12-30 18:48:47 +01:00
Maximilian Hils
afe6e587f9
Merge pull request #2703 from mhils/test-defaultkeys
...
Test that default key bindings are valid commands
2017-12-30 17:37:33 +01:00
Maximilian Hils
465044c373
test that defaultkeys are valid commands
2017-12-29 23:20:03 +01:00
Maximilian Hils
6232622774
fix Flow.kill behaviour
...
This now just sets a kill reply instead of committing directly.
First, this seems like the more sane thing to do.
Second, we have an iffy race condition where we call Reply.commit()
before the addonmanager finishes its invocation, the proxy thread then progresses
and sets a new flow.reply attribute, and the addonmanager then gets confused
when finishing. This commit doesn't fix that, but mitigates it for Flow.kill
which is now committed by the addonmanager.
2017-12-29 22:56:29 +01:00
Thomas Kriechbaumer
59c277effd
websocket: add flow kill test
2017-12-29 22:51:13 +01:00
Thomas Kriechbaumer
a35716a3a7
websocket: test killable
2017-12-28 19:50:31 +01:00
Thomas Kriechbaumer
f123fb600d
websocket: docs++ and kill messages
...
fixes #2724
2017-12-27 22:01:28 +01:00
Maximilian Hils
ddb8f43b87
Display "*" when listening on all interfaces
...
The set of people who understand "0.0.0.0" (and/or "::") is a subset of
the set of people who understand "*", so we can make things easier to understand
by using the less technical notation.
Empirical Evidence:
- https://discourse.mitmproxy.org/t/unable-to-use-mitmproxy-on-windows/735
- https://discourse.mitmproxy.org/t/how-to-view-the-proxy-servers-url/23
2017-12-26 20:01:37 +01:00
fate0
5661b40942
@concurrent decorator works for class methods. ( #2708 )
...
* @concurrent decorator should works for class methods
* modify test for @concurrent decorator in class.
* add docs
2017-12-26 18:44:43 +01:00
Aldo Cortesi
7d45d7f15e
cuts: don't crash when retrieving header of a non-existent response
2017-12-20 11:53:44 +13:00
Aldo Cortesi
79ca2c8437
commander: command argument underlay
...
Display context-sensitive argument types as an "underlay" in commander.
2017-12-20 10:07:35 +13:00
Aldo Cortesi
d7ee5d8f85
commander: palette entries, highlight errors
...
- Add palette entries specific to commander
- Highlight errors
- Introduce an Unknown type to keep track of extra unknown arguments to
commands
2017-12-20 09:09:40 +13:00
Aldo Cortesi
3341edc9fa
commander: highlight commands
...
Step 1 of the fancification of commander.
2017-12-20 08:21:48 +13:00
Aldo Cortesi
d98fc4f03a
commands: partial parser now returns help for remaining arguments
2017-12-19 11:50:12 +13:00
Aldo Cortesi
843bad187c
types: add validation to partial parser
2017-12-19 11:22:03 +13:00
Aldo Cortesi
6563feaf05
types: use new type validation mechanism in commands
2017-12-19 10:19:08 +13:00
Aldo Cortesi
cda14830d3
types: add validation functions
2017-12-19 10:19:08 +13:00
Aldo Cortesi
38b37ba7f5
types: cleanups and minor refactorings
2017-12-19 10:19:08 +13:00
Thomas Kriechbaumer
9faad6bc9c
Merge pull request #2702 from Kriechi/fix-2640
...
improve websocket dumps
2017-12-18 21:31:00 +01:00
Thomas Kriechbaumer
417a860f32
add tests
2017-12-18 11:20:18 +01:00
Thomas Kriechbaumer
8d836d251e
fix #2640
2017-12-18 09:19:21 +01:00
Thomas Kriechbaumer
1a7ce384da
websocket: support domain and url filters
2017-12-18 09:19:20 +01:00
Aldo Cortesi
b0b67fe2a7
commands: refactor types
...
The type system was scattered over a number of places, making it hard to
follow. This collects all command types in types.py, and completion, validation
and parsing for each type is centralised. We should use the same mechanism for
options.
2017-12-18 17:02:48 +13:00
Aldo Cortesi
7dbe4209d9
Merge pull request #2690 from cortesi/types
...
mitmproxy.types -> mitmproxy.coretypes
2017-12-18 08:14:07 +13:00
Aldo Cortesi
978b8d095c
mitmproxy.types -> mitmproxy.coretypes
...
The types name is valuable, and we have a better use for it in collecting and
exposing types for options and commands.
The coretypes module should probably be split up anyway - it contains a
threading base class, a few container objects, and the defintion of our
serialization protocol. I was tempted to rename it to "uncagegorized" for the
sake of honesty.
2017-12-17 13:31:36 +13:00
Aldo Cortesi
a289db8d75
commands: minor refactoring and command renaming
2017-12-17 11:23:15 +13:00
Aldo Cortesi
ac335057a7
Disable implicit JS test asset generation
...
The JS test assets depend in a brittle way on the details of the tflow()
utility functions. We shouldn't have to fix JS tests when adjusting these.
Options:
- Manually generate the test assets in a script.
- Define the JS assets without using tflow, so they don't unexpextedly
vary.
2017-12-17 10:17:05 +13:00
Aldo Cortesi
2649e57691
minor: fix key bindings, adjust flow command presentation
...
Fixes #2681
2017-12-17 10:11:02 +13:00
Aldo Cortesi
cd913d598d
command cuts: add completion
...
- Remove shortcuts for request, response, etc. - we don't need them if we have completion
- Restrict cuts specification to a set of prefixes
- Extend cuts to add a few more items
2017-12-17 10:11:02 +13:00
Aldo Cortesi
50a94db2cc
commands: Reassess the cuts API
...
Make the cuts API more transparent. Cut specifications are no longer a
centrally resolved core type, and flows are now passed explicitly.
2017-12-17 10:11:02 +13:00
Aldo Cortesi
198c7b19a3
commander: test++
2017-12-15 17:51:02 +13:00
Aldo Cortesi
a8ae006f2e
command: path completion
2017-12-15 16:02:34 +13:00
Aldo Cortesi
582e6a9fa6
command: recursive command parsing
...
This lets us complete commands passed to commands correctly.
2017-12-15 16:02:34 +13:00
Aldo Cortesi
a436af537a
Merge pull request #2678 from mhils/console-startup-events
...
Fix console logging during startup
2017-12-15 16:02:19 +13:00
Maximilian Hils
3ff380054c
improve eventstore truncation
2017-12-15 01:36:41 +01:00
Aldo Cortesi
1c097813c1
commands: emit types from partial parser, implement choice completion
2017-12-15 11:38:37 +13:00
Aldo Cortesi
8c0ba71fd8
commander: tab completion for command names
2017-12-15 10:07:47 +13:00
Aldo Cortesi
4d358c49fb
WIP: autocompletion
2017-12-15 10:07:47 +13:00
Aldo Cortesi
0cd4a77268
commands: add a parser for partial commands
...
We only return Cmd and str types for the moment.
2017-12-15 10:07:47 +13:00
Aldo Cortesi
e64d5c6bb9
commands: add a Cmd argument type
...
This represents a command passed as an argument. Also split arguments from
command values themselves, making the command help for meta-commands much
clearer.
2017-12-15 10:07:47 +13:00
Aldo Cortesi
04e19f9171
Introduce a custom widget for command editing
...
The builtin urwid.Edit widget is not sufficiently flexible for what we want to
do.
2017-12-15 10:07:47 +13:00
Aldo Cortesi
dfcf62ff2b
Merge pull request #2545 from mitmproxy/wsproto
...
Replace our WebSocket stack with wsproto
2017-12-15 09:49:24 +13:00
Maximilian Hils
0af6e2e97f
adjust tests
2017-12-14 15:44:47 +01:00
Aldo Cortesi
62561ed428
Merge pull request #2669 from cortesi/path
...
commands: add a Path argument type
2017-12-14 07:42:12 +13:00
Maximilian Hils
5e0e08a4d6
Merge pull request #2670 from Kriechi/fix-2664
...
fix #2664
2017-12-13 13:50:43 +01:00