diff options
author | Aldo Cortesi <aldo@nullcube.com> | 2018-02-24 15:00:40 +1300 |
---|---|---|
committer | Aldo Cortesi <aldo@nullcube.com> | 2018-02-24 15:00:40 +1300 |
commit | 52c8d7e0f8d86a096946f001f81cd938f3e54b88 (patch) | |
tree | 6fe9e59be74eb39c6dd5ee8306439ec39bf86e95 /mitmproxy | |
parent | 74a0230788f1e3a1800d8125fca274cda402c769 (diff) | |
download | mitmproxy-52c8d7e0f8d86a096946f001f81cd938f3e54b88.tar.gz mitmproxy-52c8d7e0f8d86a096946f001f81cd938f3e54b88.tar.bz2 mitmproxy-52c8d7e0f8d86a096946f001f81cd938f3e54b88.zip |
addon options: shift server_replay options
Diffstat (limited to 'mitmproxy')
-rw-r--r-- | mitmproxy/addons/serverplayback.py | 56 | ||||
-rw-r--r-- | mitmproxy/options.py | 61 |
2 files changed, 54 insertions, 63 deletions
diff --git a/mitmproxy/addons/serverplayback.py b/mitmproxy/addons/serverplayback.py index d8b2299a..73fb1666 100644 --- a/mitmproxy/addons/serverplayback.py +++ b/mitmproxy/addons/serverplayback.py @@ -1,8 +1,6 @@ import hashlib import urllib import typing -from typing import Any # noqa -from typing import List # noqa from mitmproxy import ctx from mitmproxy import flow @@ -19,6 +17,60 @@ class ServerPlayback: self.final_flow = None self.configured = False + def load(self, loader): + loader.add_option( + "server_replay_kill_extra", bool, False, + "Kill extra requests during replay." + ) + loader.add_option( + "server_replay_nopop", bool, False, + """ + Don't remove flows from server replay state after use. This makes it + possible to replay same response multiple times. + """ + ) + loader.add_option( + "server_replay_refresh", bool, True, + """ + Refresh server replay responses by adjusting date, expires and + last-modified headers, as well as adjusting cookie expiration. + """ + ) + loader.add_option( + "server_replay_use_headers", typing.Sequence[str], [], + "Request headers to be considered during replay." + ) + loader.add_option( + "server_replay", typing.Sequence[str], [], + "Replay server responses from a saved file." + ) + loader.add_option( + "server_replay_ignore_content", bool, False, + "Ignore request's content while searching for a saved flow to replay." + ) + loader.add_option( + "server_replay_ignore_params", typing.Sequence[str], [], + """ + Request's parameters to be ignored while searching for a saved flow + to replay. + """ + ) + loader.add_option( + "server_replay_ignore_payload_params", typing.Sequence[str], [], + """ + Request's payload parameters (application/x-www-form-urlencoded or + multipart/form-data) to be ignored while searching for a saved flow + to replay. + """ + ) + loader.add_option( + "server_replay_ignore_host", bool, False, + """ + Ignore request's destination host while searching for a saved flow + to replay. + """ + ) + @command.command("replay.server") def load_flows(self, flows: typing.Sequence[flow.Flow]) -> None: """ diff --git a/mitmproxy/options.py b/mitmproxy/options.py index 31845858..02ae9c0f 100644 --- a/mitmproxy/options.py +++ b/mitmproxy/options.py @@ -67,20 +67,11 @@ class Options(optmanager.OptManager): view_filter = None # type: Optional[str] # FIXME: Options that should be uncomplicated to migrate to addons - server_replay_refresh = None # type: bool replacements = None # type: Sequence[str] rfile = None # type: Optional[str] save_stream_file = None # type: Optional[str] save_stream_filter = None # type: Optional[str] scripts = None # type: Sequence[str] - server_replay = None # type: Sequence[str] - server_replay_ignore_content = None # type: bool - server_replay_ignore_host = None # type: bool - server_replay_ignore_params = None # type: Sequence[str] - server_replay_ignore_payload_params = None # type: Sequence[str] - server_replay_kill_extra = None # type: bool - server_replay_nopop = None # type: bool - server_replay_use_headers = None # type: Sequence[str] setheaders = None # type: Sequence[str] stickyauth = None # type: Optional[str] stickycookie = None # type: Optional[str] @@ -97,28 +88,10 @@ class Options(optmanager.OptManager): def __init__(self, **kwargs) -> None: super().__init__() self.add_option( - "server_replay_kill_extra", bool, False, - "Kill extra requests during replay." - ) - self.add_option( "server", bool, True, "Start a proxy server. Enabled by default." ) self.add_option( - "server_replay_nopop", bool, False, - """ - Don't remove flows from server replay state after use. This makes it - possible to replay same response multiple times. - """ - ) - self.add_option( - "server_replay_refresh", bool, True, - """ - Refresh server replay responses by adjusting date, expires and - last-modified headers, as well as adjusting cookie expiration. - """ - ) - self.add_option( "rfile", Optional[str], None, "Read flows from file." ) @@ -140,10 +113,6 @@ class Options(optmanager.OptManager): """ ) self.add_option( - "server_replay_use_headers", Sequence[str], [], - "Request headers to be considered during replay." - ) - self.add_option( "setheaders", Sequence[str], [], """ Header set pattern of the form "/pattern/header/value", where the @@ -151,10 +120,6 @@ class Options(optmanager.OptManager): """ ) self.add_option( - "server_replay", Sequence[str], [], - "Replay server responses from a saved file." - ) - self.add_option( "stickycookie", Optional[str], None, "Set sticky cookie filter. Matched against requests." ) @@ -195,32 +160,6 @@ class Options(optmanager.OptManager): "save_stream_filter", Optional[str], None, "Filter which flows are written to file." ) - self.add_option( - "server_replay_ignore_content", bool, False, - "Ignore request's content while searching for a saved flow to replay." - ) - self.add_option( - "server_replay_ignore_params", Sequence[str], [], - """ - Request's parameters to be ignored while searching for a saved flow - to replay. - """ - ) - self.add_option( - "server_replay_ignore_payload_params", Sequence[str], [], - """ - Request's payload parameters (application/x-www-form-urlencoded or - multipart/form-data) to be ignored while searching for a saved flow - to replay. - """ - ) - self.add_option( - "server_replay_ignore_host", bool, False, - """ - Ignore request's destination host while searching for a saved flow - to replay. - """ - ) # Proxy options self.add_option( |