Aldo Cortesi
301d52d9d0
netlib.encoding -> netlib.http.encoding
...
Encoding is highly specific to http, and only used within this module.
2016-10-20 11:06:57 +13:00
Aldo Cortesi
f964d49853
netlib.certutils -> mitmproxy.certs
2016-10-20 11:02:52 +13:00
Aldo Cortesi
9870844b38
netlib.utils -> netlib.check
...
Now only contains is_valid_[host,port]
Intermediate step - this will be in mitproxy.net soon.
2016-10-20 10:46:47 +13:00
Aldo Cortesi
e0f3cce14c
netlib.utils.[get,set]bit -> mitmproxy.utils.bits
2016-10-20 10:38:57 +13:00
Aldo Cortesi
9555126585
netlib.utils.BiDi -> mitmproxy.types.bidi.BiDi
2016-10-20 10:32:09 +13:00
Aldo Cortesi
a684585e7c
netlib.debug -> mitmproxy.utils.debug
2016-10-20 10:25:36 +13:00
Aldo Cortesi
1ecb25cdc1
mitmproxy.types.[basethread,multidict,serializable]
2016-10-20 10:22:23 +13:00
Aldo Cortesi
f45f4e677e
netlib.strutils -> mitmproxy.utils.strutils
2016-10-20 10:11:58 +13:00
Aldo Cortesi
1407830280
netlib.human -> mitmproxy.utils.human
2016-10-20 09:45:18 +13:00
Aldo Cortesi
069119364d
Create mitmproxy.utils hierarchy
...
- Add mitproxy.utils.lrucache, mitproxy.utils.data
2016-10-20 09:35:55 +13:00
Aldo Cortesi
e73c7fe77e
mitmproxy.protocol -> mitmproxy.proxy.protocol
...
The protocols here are compltely proxy-specific, are only used from within the
proxy module, and are not exposed to users.
2016-10-19 23:11:56 +13:00
Aldo Cortesi
24cf8da27e
Move all tools into mitmproxy.tools, move models/* to top level
...
The primary motivation here (and for all the other moving around) is to present
a clean "front of house" to library users, and to migrate primary objects to
the top of the module hierarchy.
2016-10-19 20:26:05 +13:00
Aldo Cortesi
5a68d21e8c
Remove flow module entirely, move contents to top level
...
mitmproxy.flow.io -> mitmproxy.io
mitmproxy.flow.export -> mitmproxy.export
2016-10-19 15:08:35 +13:00
Aldo Cortesi
7c32d4ea2a
flow.state -> addons.state
2016-10-19 14:48:42 +13:00
Aldo Cortesi
22eebfd574
addons.Addons -> addonmanager, builtins -> addons
2016-10-19 14:39:39 +13:00
Aldo Cortesi
966418725b
controller.Log -> log.Log
2016-10-19 14:14:59 +13:00
Aldo Cortesi
bce387a5a0
Kill flow.master - create master.Master
...
Also extract events into .events
2016-10-19 13:22:50 +13:00
Aldo Cortesi
264a09e778
Let's dispense with this fiction that we support multiple servers
...
It's simple enough to re-add if needed, and until then is just cruft.
2016-10-19 12:37:32 +13:00
Aldo Cortesi
87629586ae
web app cleanups: tests and examples
2016-10-19 11:48:51 +13:00
Aldo Cortesi
ceb8caee98
Web apps to addons
...
This commit removes the app registry, adds a wsgiapp addon base, and ports the
onboarding app to it.
2016-10-19 11:40:51 +13:00
Aldo Cortesi
03cb5bb325
No need for all builtins to be loaded for server tests
2016-10-18 22:30:21 +13:00
Aldo Cortesi
466f5e56a1
Convert flow.state to an addon
...
A first step, and already many things are much nicer.
2016-10-18 21:51:36 +13:00
Aldo Cortesi
d5056c5627
accept_addon -> resume, intercept/resume events
2016-10-18 12:02:35 +13:00
Aldo Cortesi
825b02d495
master.duplicate_flow -> state.duplicate_flow
...
This is a pure operation on state, and doesn't belong on master.
Part of prep to move state to an addon.
2016-10-18 11:29:51 +13:00
Aldo Cortesi
b25d94a6ac
Response body streaming to addon
2016-10-18 10:42:05 +13:00
Maximilian Hils
beed406058
fix tests
2016-10-17 03:37:42 -07:00
Thomas Kriechbaumer
94c9dd66e6
remove empty lines at beginning of file
2016-10-17 10:32:12 +02:00
Maximilian Hils
758860531a
fix socks5 mode with tls
2016-10-16 23:05:51 -07:00
Aldo Cortesi
c774a9fec9
python3: clean up super and __future__
2016-10-17 18:03:07 +13:00
Aldo Cortesi
a647b30365
python3: clean up class brackets
2016-10-17 17:37:08 +13:00
Aldo Cortesi
fb22f2ff4f
Zap object base class
2016-10-17 17:37:08 +13:00
Aldo Cortesi
ce98a9219e
test & examples: zap six
2016-10-17 16:45:45 +13:00
Aldo Cortesi
9a0195bf64
scripts: keep scripts just after the ScriptLoader in addon chain
...
We need scripts to run _before_ filestreamer, so we can't just add them to the
end of the chain. This patch also fixes an issue that could cause scripts to be
initialised un-necessarily if only the order of scripts in options changed.
2016-10-16 20:26:06 +13:00
Aldo Cortesi
fb69c9c345
docs: overview, classes, arguments
2016-10-16 20:26:06 +13:00
Maximilian Hils
e9284ab7ee
add regression test for #1605
2016-10-14 01:22:30 -07:00
Aldo Cortesi
89d36713e3
certutils: cap the cert store size at 100 by default
...
This should be enough to give us reuse without growing infinitely. This is part
of fixing the memory situation in mitmdump.
TODO: There's an opportunity here for a better algorithm, that expires certs
based on least-recently-accessed time, rather than oldest generated time.
2016-10-05 10:44:31 +11:00
Thomas Kriechbaumer
90898f9084
use flt instead of filt for flowfilter expressions
2016-10-04 14:51:04 +02:00
Aldo Cortesi
882c363ec5
debug: Hard exit after debug signal
2016-10-04 16:48:13 +11:00
Aldo Cortesi
7fe09f4d26
Consolidate logging
...
- Make log event handler work
- Move terminal event log into an addon
- Clean various log related errors and duplications
2016-10-04 13:00:15 +11:00
Aldo Cortesi
2e48b60ff1
Clarify channel interaction pattern
...
Before this patch, it wasn't clear when the arguments to an event could be
modified, and when a new object should be returned. After this patch, the right
thing to do is to modify the arguments in 99% of cases. The only exception to
this is root_layer, for which we can find a better structure down the track.
2016-10-04 08:13:56 +11:00
Aldo Cortesi
1ae73b9157
Add requestheaders event
...
HTTP1 only for now, HTTP2 coming next.
2016-10-04 08:13:56 +11:00
Thomas Kriechbaumer
36c04f1631
fix flowfilter.match args
2016-10-03 12:04:17 +02:00
Thomas Kriechbaumer
bb60b76af4
use flowfilter.match
2016-10-03 11:45:54 +02:00
Thomas Kriechbaumer
ba84248910
rename mitmproxy.filt -> mitmproxy.flowfilter
2016-10-03 11:45:54 +02:00
Maximilian Hils
611dad12a7
Revert "Add API to programmatically create new requests ( #1534 )"
...
This reverts commit ccbdcd684b
,
which yielded a test timeout.
2016-10-02 23:08:51 -07:00
Tyler St. Onge
ccbdcd684b
Add API to programmatically create new requests ( #1534 )
2016-10-01 13:06:59 +02:00
Aldo Cortesi
070aa27cf5
parse_set_cookie header returns an empty list if no cookies are found
...
This matches parse_cookie, and is more idiomatic.
2016-09-28 15:10:31 +10:00
Aldo Cortesi
b21f076cc8
Merge branch 'multi-cookie' of https://github.com/dufferzafar/mitmproxy
2016-09-28 12:44:40 +10:00
Shadab Zafar
5383c15ff2
Add tests for comma separated Set-Cookies
2016-09-27 21:28:54 +05:30
Ryan Laughlin
ad6d675b20
In reverse proxy mode, always send SNI
2016-09-27 10:49:04 -04:00
Shadab Zafar
e8ffc5167b
Can't have , in the sticky cookie test
...
Since we support comma separated cookies now
2016-09-27 16:44:09 +05:30
Shadab Zafar
9ec0790271
Make needed changes in tests
2016-09-27 16:44:09 +05:30
Shadab Zafar
85bf5e18f6
Update cookie tests
...
This is needed since _read_pairs now returns a list of cookies each of which
is a list of [name, value] tuples.
2016-09-27 16:44:08 +05:30
Maximilian Hils
eeec17902f
update dependencies, minor fixes ( #1577 )
2016-09-24 21:01:48 -07:00
Maximilian Hils
0a643ad20f
remove option argument for addons.add ( #1576 )
2016-09-24 18:21:12 -07:00
Maximilian Hils
9142da1a7d
Merge pull request #1566 from mhils/issue-1546
...
add websocket on/off switch, improve logging (fix #1546 , fix #1547 )
2016-09-22 03:06:39 -07:00
Maximilian Hils
77868434e7
fix tests
2016-09-22 02:10:02 -07:00
Maximilian Hils
a3329c5a80
scripts: cut traceback properly, fix #1467
2016-09-22 02:03:12 -07:00
Maximilian Hils
9e0b935fa2
Merge pull request #1564 from mhils/issue-1554
...
Fix Response.make content-length header
2016-09-21 21:49:14 -07:00
Maximilian Hils
0b532789a0
fix Response.make content-length header
2016-09-21 20:34:01 -07:00
Maximilian Hils
770936f1f9
raise TypeError on invalid header assignment, fix #1562
2016-09-21 19:21:32 -07:00
Aldo Cortesi
cfb943bfdd
Redesign client replay
...
- Move to an addon
- Use a much simpler synchronisation mechanism
2016-09-11 20:00:34 +12:00
Aldo Cortesi
6b9221ffeb
Add "run_once" support to the script addon, use it in mitmproxy
...
Fixes #1418
2016-09-11 13:22:01 +12:00
Aldo Cortesi
9b814ca067
options.replay_ignore* -> options.server_replay_ignore*
2016-09-10 10:21:52 +12:00
Aldo Cortesi
8677e91074
options.nopop -> options.server_replay_nopop
2016-09-10 10:09:07 +12:00
Aldo Cortesi
5ebe8c1bc8
options.rheaders -> options.server_replay_use_headers
2016-09-10 10:09:07 +12:00
Aldo Cortesi
b0213a2c0e
options.kill -> options.replay_kill_extra
2016-09-10 10:09:07 +12:00
Aldo Cortesi
4ff8a72521
Roll out synchronisation for mitmproxy tests
...
This extends some of the work I did for pathod and netlib to the mitmproxy test
suite. It also fixes what may be a leak in replays.
Failing on connection leak is disabled on Windows for the moment.
Fixes #1535
2016-09-10 09:18:11 +12:00
Aldo Cortesi
ea49b8a2e2
Merge pull request #1532 from cortesi/playback
...
Playback and fix construct breakage
2016-09-07 12:59:11 +12:00
Schamper
5728a1c900
Make 'none' synonymous to 'identity'
2016-09-06 17:00:08 +02:00
Aldo Cortesi
9abdd3a8d9
Move server playback in to an addon
...
- Move server playback into an addon
- Implement a better sync strategy to decide when to exit if keepserving is
off. We now wait for the final flow played back to no longer be live.
- Leave interactive server playback in mitmproxy console broken for now - there
are broader addon-related changes that need to be made for that, and this patch
is already big.
Fixes #1229
2016-09-06 23:48:02 +12:00
Schamper
85e1539d0a
Add test
2016-09-06 11:07:50 +02:00
Thomas Kriechbaumer
c0b12da401
change test value
2016-09-04 09:31:45 +02:00
Thomas Kriechbaumer
4c7f99d2be
improve netlib.encoding
2016-09-04 09:31:44 +02:00
Thomas Kriechbaumer
69b770469e
http2: assemble connect-request from object
2016-09-03 12:31:35 +02:00
Thomas Kriechbaumer
ea2a51d3be
http2: fixes
2016-09-03 11:50:37 +02:00
Thomas Kriechbaumer
5dda9505b6
http2: improve framereader
2016-09-03 10:00:31 +02:00
Thomas Kriechbaumer
0badb3ec91
cleanup
2016-09-03 10:00:31 +02:00
Thomas Kriechbaumer
0d0c2c788d
cleanup tests
2016-09-01 10:12:13 +02:00
Thomas Kriechbaumer
e5b0dae7e9
add websockets support to mitmproxy
2016-09-01 09:57:18 +02:00
Thomas Kriechbaumer
d12515f84b
websockets: refactor implementation and add tests
2016-09-01 09:56:14 +02:00
arjun23496
a8deed1f4e
Lint fix - minor
2016-08-31 16:39:04 +05:30
arjun23496
2476809ff8
Lint fix - replace tests
2016-08-31 16:27:22 +05:30
arjun23496
d2cfa5ca41
Added tests for replace in request,message,header
2016-08-31 10:23:33 +05:30
Manish Kumar
2cf4efab07
fixing lint error
2016-08-26 14:22:02 +05:30
Manish Kumar
16401d5be8
fixed : Divide by zero error came when string was empty, also a test
2016-08-26 12:52:51 +05:30
Thomas Kriechbaumer
51771c01c6
allow test classes to dynamically specify ssl context
2016-08-24 09:19:42 +02:00
Maximilian Hils
f27028f58e
introduce Response.make for simple response creation
2016-08-23 00:17:06 -07:00
Thomas Kriechbaumer
eb83107e1c
reenable options test
2016-08-16 11:05:57 +02:00
Thomas Kriechbaumer
cd35a6ff47
add regression test for #1476
2016-08-16 11:05:57 +02:00
Thomas Kriechbaumer
bfe22e739c
Merge pull request #1481 from Kriechi/http2-simplify-zombies
...
http2: simplify zombie detection
2016-08-16 10:10:39 +02:00
Thomas Kriechbaumer
17c65e46cb
Merge pull request #1480 from mhils/reverse-proxy-auth
...
Add basic auth support for reverse proxy mode
2016-08-16 10:07:59 +02:00
Shadab Zafar
239eaf0078
Remove timezone specific value
2016-08-15 15:05:32 +05:30
Shadab Zafar
bc175b58f2
Use test times less than 2038
...
So that tests pass on 32bit systems too
2016-08-15 12:00:23 +05:30
Shadab Zafar
ec0bae35c5
Assert cookie groups explicitly rather than just the length
2016-08-15 12:00:23 +05:30
Shadab Zafar
b9426fcec1
Add a test for base64 encoding
2016-08-15 12:00:23 +05:30
Shadab Zafar
988174246b
Add some cookie formatting related tests
2016-08-15 12:00:23 +05:30
Shadab Zafar
456f80d862
Open JSON file in text mode
2016-08-15 12:00:23 +05:30
Shadab Zafar
03e6117042
Add a function to get cookie expiration time
2016-08-15 12:00:23 +05:30
Shadab Zafar
a479c51465
Add method to group pairs by cookies
2016-08-15 12:00:23 +05:30