aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/proxy.py
Commit message (Collapse)AuthorAgeFilesLines
...
* Add HTTP version to flow.RequestAldo Cortesi2012-06-101-3/+3
| | | | | This is a serialization format change, that makes us incompatible with previous versions.
* Consolidate HTTP major and minor versions into a single variable.Aldo Cortesi2012-06-101-21/+24
|
* Add proxy.should_connection_close, and strip out unused code.Aldo Cortesi2012-06-101-33/+17
|
* Refactor ServerConnection API.Aldo Cortesi2012-06-101-22/+20
|
* Ignore incorrectnesses in traffic if they don't affect us.Aldo Cortesi2012-06-091-4/+0
|
* Significant cleanup of proxy internals.Aldo Cortesi2012-06-091-46/+41
| | | | | | 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.
* Move from requests to human_curl.Aldo Cortesi2012-06-091-0/+1
| | | | | 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.
* Nose mopup: docs, no cover pragmas, a few missing path specs.Aldo Cortesi2012-06-091-1/+0
|
* Split parsing of intial line into separate protocols.Aldo Cortesi2012-06-031-0/+56
|
* Factor out conversion to SSL connection.Aldo Cortesi2012-06-031-12/+16
|
* Add unit tests for console/help.pyAldo Cortesi2012-06-031-7/+6
|
* Added a switch to send client certificates to hostsPaul2012-05-231-2/+21
|
* Add the ability to flag content as missing in a request or a response.Aldo Cortesi2012-05-161-2/+8
| | | | | | | 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.
* Add a WSGI adapter that lets us serve a WSGI app out of mitmproxy.Aldo Cortesi2012-04-241-33/+39
| | | | | | | | 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.
* Expand SSL cert supportAldo Cortesi2012-04-021-1/+4
| | | | | | - 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 proxy.Server to fix a crash when replaying with -nAldo Cortesi2012-04-021-0/+17
|
* Merge remote-tracking branch 'meeee/master'Aldo Cortesi2012-03-101-2/+6
|\
| * Fix SSL requests with Transfer-Encoding: chunkedMichael Frister2012-03-081-1/+5
| | | | | | | | Add size parameter to FileLike.readline, used by read_chunked.
| * Handle Transfer-Encoding header values case insensitiveMichael Frister2012-03-081-1/+1
| | | | | | | | According to HTTP/1.1 RFC 2616 Section 3.6.
* | Create an SSL certificate class.Aldo Cortesi2012-03-051-1/+3
| |
* | Factor out cert operations in to certutils.py.Aldo Cortesi2012-02-291-4/+4
| |
* | Rationalise upstream cert flag and variable names.Aldo Cortesi2012-02-281-4/+4
| |
* | Add upstream certificate lookup.Aldo Cortesi2012-02-271-4/+9
|/ | | | | | This initiates a connection to the server to obtain certificate information to generate interception certificates. At the moment, the information used is the Common Name, and the list of Subject Alternative Names.
* License notifications, minor docs.Aldo Cortesi2012-02-231-0/+15
|
* Minor docs and example script fixes.Aldo Cortesi2012-02-211-1/+0
|
* Create ODictCaseless for headers, use vanilla ODict for everything else.Aldo Cortesi2012-02-201-1/+1
|
* Rename Headers class to ODictAldo Cortesi2012-02-201-4/+27
| | | | | ODict is an ordered dictionary class that will be useful in many other parts of our API.
* Consolidate palettes somewhat.Aldo Cortesi2012-02-181-2/+0
|
* Refactor reverse proxyingAldo Cortesi2012-02-181-34/+36
| | | | | | | - Retain the specification from the Host header as a Request's description. - Expand upstream proxy specifications to include the scheme. We now say https://hostname:port - Move the "R" revert keybinding to "v" to make room for a reverse proxy binding that matches the command-line flag.
* reverse proxy mode: small comment clarificationHeikki Hannikainen2012-02-161-2/+5
|
* Implemented reverse proxy mode: -R upstreamhost:port makes theHeikki Hannikainen2012-02-161-2/+10
| | | | | | proxy accept a 'GET / HTTP/1.0' request and fill up the destination host and port from the ones given with -R (for example, "-R localhost:80").
* Add filter for detecting flows with errors.Aldo Cortesi2012-02-101-1/+1
| | | | Also, remove dependency on weird _is_response method.
* Fix an issue caused by some editors when editing a request/response body.Aldo Cortesi2012-01-211-1/+1
| | | | | | Many editors make it hard save a file without a terminating newline on the last line. When editing message bodies, this can cause problems. For now, I just strip the newlines off the end of the body when we return from an editor.
* Handle missing message/reason phrase in HTTP response status line gracefully ↵meeee2011-09-261-0/+2
| | | | by adding an empty one.
* Fix a rare crash when a new cert is generated during cerdir removal.Aldo Cortesi2011-09-111-1/+4
|
* Add HTTP body size limit specification to command-line tools.Aldo Cortesi2011-09-091-10/+16
|
* Basic infrastructure for request and response body size limits.Aldo Cortesi2011-09-091-15/+34
|
* Improve robustness against invalid data.Aldo Cortesi2011-09-051-2/+4
|
* Removed unused importsAndrás Veres-Szentkirályi2011-08-181-1/+1
|
* Add a basic Flow processor example.Aldo Cortesi2011-08-131-1/+1
|
* Code cleanliness - appease pychecker.Aldo Cortesi2011-08-041-2/+2
|
* Request class now has a clean pydoc profile.Aldo Cortesi2011-08-041-1/+1
|
* Further interface cleaning.Aldo Cortesi2011-08-031-10/+10
|
* Move all HTTP objects to flow.pyAldo Cortesi2011-08-031-444/+26
| | | | That's Request, Response, ClientConnect, ClientDisconnect, Error, and Headers.
* Tweak encoding behaviourAldo Cortesi2011-08-021-2/+5
| | | | | | | | | - Don't fail to identity encoding when an unknown encoding is specified. - Don't constrain encodings. I want to try to modify traffic as little as possible by default. - When decoding, delete content-encoding header rather than set it to "identity" - Refuse to decode/encode when there is an existing but unknown content-encoding header.
* Unit test++Aldo Cortesi2011-08-021-9/+14
|
* General cleanup.Aldo Cortesi2011-08-021-1/+0
| | | | | Cut out unused variables and code, generally shut up pychecker as much as is reasonable.
* Fix a rare undefined variable crash in proxy.py.Aldo Cortesi2011-08-021-1/+3
|
* Add decoding/encoding for requests.Aldo Cortesi2011-08-011-23/+25
|
* Merge remote-tracking branch 'alts/encoding'Aldo Cortesi2011-07-281-0/+21
|\