Aldo Cortesi
8a9352b3f7
First draft conversion of server to PyOpenSSL.
2012-06-13 18:16:47 +12:00
Aldo Cortesi
d032504b17
Fix an exception when replaying a flow with no response.
2012-06-10 17:10:43 +12:00
Aldo Cortesi
d60fa9918b
Localise client connection object manipulation.
...
This simplifies the call signature for a bunch of functions.
2012-06-10 16:49:59 +12:00
Aldo Cortesi
1f659948cd
Refactor request processing at mitmproxy's core.
...
Gradually cleaning up towards a state machine model.
2012-06-10 16:02:48 +12:00
Aldo Cortesi
236447c65f
Pass server HTTP version back to clients.
2012-06-10 13:29:09 +12:00
Aldo Cortesi
6ba5f0f35b
Add HTTP version to response objects.
...
Another change in the serialization format.
2012-06-10 13:27:43 +12:00
Aldo Cortesi
52779d9db9
Refactoring of proxy.py
...
- Correctly pass HTTP request version on to upstream servers
- Adjust tests not to hang due to a pathod response with no content-length
2012-06-10 13:17:18 +12:00
Aldo Cortesi
55ddf853cd
Add HTTP version to flow.Request
...
This is a serialization format change, that makes us incompatible with previous
versions.
2012-06-10 10:46:22 +12:00
Aldo Cortesi
a3b47e0cb5
Consolidate HTTP major and minor versions into a single variable.
2012-06-10 10:31:04 +12:00
Aldo Cortesi
8254187bf3
Add proxy.should_connection_close, and strip out unused code.
2012-06-10 10:10:46 +12:00
Aldo Cortesi
0c458e2f1a
Refactor ServerConnection API.
2012-06-10 08:13:50 +12:00
Aldo Cortesi
987f443b5d
Ignore incorrectnesses in traffic if they don't affect us.
2012-06-09 21:45:22 +12:00
Aldo Cortesi
9130cd63d3
Significant cleanup of proxy internals.
...
Dispense with the loose parsing of client requests that we had before. We now
have service modes ("proxy" and "reverse proxy" for now), and we only accept
requests that are appropriate for the mode we're in.
2012-06-09 21:27:43 +12:00
Aldo Cortesi
b1f410c78d
Join thread on test exit to avoid race condition.
2012-06-09 20:42:43 +12:00
Aldo Cortesi
18c1b44475
Reverse proxy testing.
2012-06-09 20:41:28 +12:00
Aldo Cortesi
05492baf8d
Move from requests to human_curl.
...
It turns out that _none_ of the Python stdlib or anything that relies on it
supports CONNECT through a proxy. Beggars belief, but there you go.
2012-06-09 16:17:51 +12:00
Aldo Cortesi
00c8bef0ff
Port test suite over to Nose.
2012-06-09 15:08:51 +12:00
Aldo Cortesi
22192d1a46
Nose mopup: docs, no cover pragmas, a few missing path specs.
2012-06-09 13:55:55 +12:00
Aldo Cortesi
b7b357528c
Port mitmproxy test suite entirely to nose.
2012-06-09 13:42:43 +12:00
Aldo Cortesi
a63240a848
Move pathod service testing truss to nose.
2012-06-09 12:13:01 +12:00
Aldo Cortesi
e78b48ab20
Start conversion to nose.
...
RIP pry.
2012-06-09 10:57:00 +12:00
Aldo Cortesi
7a312546f3
Shift mitmproxy test suite over to pathod.
...
This opens a whole brave new world of testing for mitmproxy.
2012-06-08 10:00:16 +12:00
Aldo Cortesi
456b11df9a
Add requests to install_requires.
2012-06-07 17:03:16 +12:00
Aldo Cortesi
a29ebe31dc
SSL support for test struss.
...
Also, rewrite requests usage for latest version.
2012-06-07 17:02:17 +12:00
Aldo Cortesi
81fc990314
Fail if only one of certfile or keyfile is specified.
2012-06-07 16:36:54 +12:00
Aldo Cortesi
9ae53aecd0
We can't sensibly unit test pages withhout firing up a server.
...
We've just added functionality to do this ourselves, so rip out the old stuff.
2012-06-07 16:35:54 +12:00
Aldo Cortesi
26c8437e88
Better test daemon cleanup, improve utils test coverage.
2012-06-07 14:05:42 +12:00
Aldo Cortesi
34ffe46fa0
Add /api/info, returning general info on the running pathod daemon.
2012-06-07 11:39:37 +12:00
Aldo Cortesi
14b2a69d21
Start building a Pathod unit testing truss.
...
- Add test.py, which will house the testing API.
- Extend API with a shutdown method, used to terminate the test daemon.
- Refactor to allow clean shutdown.
2012-06-07 11:23:23 +12:00
Aldo Cortesi
b5a74a26ee
Let Pathod pick an arbitrary empty port if -p 0 is specified.
2012-06-07 10:17:30 +12:00
Aldo Cortesi
049d3d2b45
lippathod/app.py -> libpathod/pathod.py
2012-06-07 08:50:06 +12:00
Aldo Cortesi
903038b8de
Merge branch 'master' into develop
2012-06-07 08:44:36 +12:00
Maximilian Hils
2a194f98ec
add missing parser.add_option_group(group)
2012-06-06 01:26:19 +02:00
Aldo Cortesi
e9109812e1
Split parsing of intial line into separate protocols.
2012-06-03 06:04:57 -07:00
Aldo Cortesi
0a25c2263d
Factor out conversion to SSL connection.
2012-06-03 01:54:11 -07:00
Aldo Cortesi
491f9bdcee
Add unit tests for console/help.py
2012-06-03 01:11:07 -07:00
Aldo Cortesi
b36e37f9da
Fix a traceback that sometimes occurred when an invalid limit was entered.
2012-06-02 18:41:44 -07:00
Aldo Cortesi
f9b04b84cd
Silence a (rare) KeyboardInterrupt exception in mitmproxy.
2012-05-31 21:18:41 -07:00
Aldo Cortesi
ee2950cd19
Fix a crashing bug when replacing text in a flow with unicode bodies.
2012-05-25 18:10:31 -07:00
Aldo Cortesi
a0c63b6108
Fix crash when adding a Response when none existed before.
2012-05-24 16:56:18 -07:00
Paul
5f8855df55
Added a switch to send client certificates to hosts
2012-05-23 23:09:03 +02:00
Aldo Cortesi
08d6da2941
Fix AttributeError when shutting down a writing mitmdump.
2012-05-17 09:47:04 +12:00
Aldo Cortesi
0a90a3eaba
Refuse to replay a request with missing content.
2012-05-16 18:24:32 +12:00
Aldo Cortesi
b3901a7652
Add interface to mark content missing, and extend UI to indicate when content is missing.
2012-05-16 18:16:44 +12:00
Aldo Cortesi
0c2d894cea
Add the ability to flag content as missing in a request or a response.
...
We'll use this in a number of situations. First, we'll soon have response
streaming that directly pipes responses to clients. These will be content-less
from mitmproxy's perspective. Second, we'll be growing new events that fire
after headers are received, but before content is read.
2012-05-16 15:42:58 +12:00
Aldo Cortesi
12b8a43dbe
Bump version number.
2012-05-11 09:52:17 +12:00
Aldo Cortesi
d42fdc4ff6
Include a formatted exception in WSGI error page.
2012-05-07 21:34:01 +12:00
Aldo Cortesi
d171e13fd3
Fix redundant imports, tweak TODO for 0.2
2012-04-30 10:09:16 +12:00
Aldo Cortesi
3365acf69f
Clear log API.
2012-04-30 09:54:49 +12:00
Aldo Cortesi
24b0acbfab
Log retrieval API.
2012-04-30 09:46:49 +12:00