aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/flow.py
Commit message (Collapse)AuthorAgeFilesLines
* Expand Flow.match to accept either a string or a compiled filter expression.Aldo Cortesi2012-09-141-0/+7
|
* Don't run replace or header hooks on error.Aldo Cortesi2012-09-021-2/+0
|
* Getter and setter for path component on Requests.Aldo Cortesi2012-08-191-1/+21
|
* Add SetHeaders, analogous to ReplaceHooks, with a graphical editor in ↵Aldo Cortesi2012-08-181-11/+62
| | | | | | | mitmproxy (H shortcut). SetHeaders defines headers that are set on flows, based on a matching pattern. Existing headers are over-ridden.
* Use the new ODict get_first convenience function in a bunch of places.Aldo Cortesi2012-08-181-6/+6
|
* Stop server playback after current playback buffer is exhausted.Aldo Cortesi2012-08-181-0/+2
|
* Add a size() method to flow.Request and flow.Response.Aldo Cortesi2012-08-041-29/+50
|
* Minor refactoring. Make stop_stream also close the associated file descriptor.Aldo Cortesi2012-07-271-1/+1
|
* Be more tolerant of corrupted or truncated flows.Aldo Cortesi2012-07-241-1/+1
| | | | | | We load as far as possible. mitmproxy will only terminate if it was not able to recover any flows. mitmdump will stop loading as soon as an error is encountered, but not exit with an error.
* Refine semantics of replay_request method.Aldo Cortesi2012-07-101-2/+3
|
* Unit test request replay thread.Aldo Cortesi2012-07-091-0/+1
| | | | | | This is a small patch, but is the culmination of lots of work: we can now unit test the deep innards of mitmproxy, with coverage. There's a lot more to come in this vein.
* Add streaming to FlowMasterAldo Cortesi2012-07-091-7/+23
|
* Fix error when serializing reverted SSL flows.Aldo Cortesi2012-07-051-1/+1
|
* Firm up handling of Unicode dataAldo Cortesi2012-07-051-1/+1
| | | | | - Modify GridEditor to know about the destination encoding of data - Ensure that get_url always returns ASCII
* Correct handing of IDNA encoding of internationalized domain names.Aldo Cortesi2012-07-031-1/+1
| | | | | - Use IDNA encoding for hostnames gleaned by upstream-cert sniffing - Use IDNA decoding for URL display in mitmproxy and mitmdump.
* Serialize address as part of ClientConnect objects.Aldo Cortesi2012-07-011-0/+2
| | | | This is a serialization format change!
* Beef up logging substantially.Aldo Cortesi2012-07-011-12/+2
|
* Serialization and de-serialization of new cert format.Aldo Cortesi2012-06-281-12/+5
|
* Adjust for new get_remote_cert API.Aldo Cortesi2012-06-281-0/+1
|
* Remove certutils from mitmproxy.Aldo Cortesi2012-06-271-2/+2
|
* Adapt for API changes in netlib.Aldo Cortesi2012-06-231-2/+2
|
* Extract protocol and tcp server implementations into netlib.Aldo Cortesi2012-06-191-152/+5
|
* Refactor protocol.py to remove dependence on flow and utils.Aldo Cortesi2012-06-171-2/+2
|
* Fix a problem in ODictCaseless that could cause duplicate headers.Aldo Cortesi2012-06-151-1/+4
|
* Fix an exception when replaying a flow with no response.Aldo Cortesi2012-06-101-2/+0
|
* Pass server HTTP version back to clients.Aldo Cortesi2012-06-101-1/+1
|
* Add HTTP version to response objects.Aldo Cortesi2012-06-101-2/+4
| | | | Another change in the serialization format.
* Refactoring of proxy.pyAldo Cortesi2012-06-101-6/+5
| | | | | - Correctly pass HTTP request version on to upstream servers - Adjust tests not to hang due to a pathod response with no content-length
* Add HTTP version to flow.RequestAldo Cortesi2012-06-101-5/+25
| | | | | This is a serialization format change, that makes us incompatible with previous versions.
* Port mitmproxy test suite entirely to nose.Aldo Cortesi2012-06-091-6/+2
|
* Fix a crashing bug when replacing text in a flow with unicode bodies.Aldo Cortesi2012-05-251-6/+6
|
* Refuse to replay a request with missing content.Aldo Cortesi2012-05-161-1/+3
|
* Add the ability to flag content as missing in a request or a response.Aldo Cortesi2012-05-161-4/+27
| | | | | | | 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.
* Don't specify Content-Length on empty content.Aldo Cortesi2012-04-251-6/+6
| | | | | Sometimes, mitmproxy would specify a content-length header value of 0 when content was empty. Some rare servers (like piratebay.org) would barf on this.
* Add a WSGI adapter that lets us serve a WSGI app out of mitmproxy.Aldo Cortesi2012-04-241-2/+4
| | | | | | | | This commit adds: - A WSGI App adapter for mitmproxy - An app registry in the proxy instance that lets us link WSGI apps with (hostname, port) combinations. - Fixes for a number of bugs discovered while creating this feature.
* Serialized data version check.Aldo Cortesi2012-04-111-0/+3
|
* Improve revert modelAldo Cortesi2012-04-041-8/+5
| | | | | | | - Flows are backed up whenever an interactive, non-script change is made. - That backup is canonical and never changed - "V" will always revert to it. This makes more sense than what we had previously....
* Serialize requestcount for ClientConnect objects.Aldo Cortesi2012-04-031-4/+9
|
* Add accessor method for SSLCert object on Response.Aldo Cortesi2012-04-021-6/+13
|
* Expand SSL cert supportAldo Cortesi2012-04-021-1/+5
| | | | | | - Capture the remote SSL certificate - Expose the remote cert as an attribute on Response - Expand the certutils.SSLCert interface to expose more cert info
* Refactor pretty view mechanism.Aldo Cortesi2012-03-241-0/+6
| | | | Also start adding unit tests for this subsystem.
* Add error indications to GridEditor.Aldo Cortesi2012-03-231-0/+4
|
* Generalize GridEditor to N columns.Aldo Cortesi2012-03-181-0/+9
| | | | Start adding a replacement rule editor.
* Hooks -> ReplaceHooksAldo Cortesi2012-03-171-17/+19
| | | | | It makes more sense to specialize this, which will let me build a nicer interface for replacement hooks in mitmproxy.
* Add a hooks mechanism, based on filter expressions.Aldo Cortesi2012-03-161-1/+46
|
* replace() methods now decode and re-encode contents before substitution.Aldo Cortesi2012-03-161-9/+23
|
* Add a decoded context manager.Aldo Cortesi2012-03-161-0/+28
| | | | | | | | | This simplifies a common chore when modifying traffic - decoding the object, modifying it, then re-encoding it with the same encoding afterwards. You can now simply say: with flow.decoded(request): request.content = "bar"
* Set a "unique" serial number for each generated cert.Aldo Cortesi2012-03-141-2/+2
|
* Adds no-pop option to server-side replayValtteri Virtanen2012-03-051-5/+10
|
* Unit test++.Aldo Cortesi2012-02-251-5/+2
|