diff options
author | Marcelo Glezer <marcelo.glezer@gmail.com> | 2015-01-15 09:36:59 -0300 |
---|---|---|
committer | Marcelo Glezer <marcelo.glezer@gmail.com> | 2015-01-15 09:36:59 -0300 |
commit | b77cd1af606997f81890c1542f69d11daeda53b6 (patch) | |
tree | d8784bc4cf3949b6abc7a062f5245b44c760b72c /libmproxy/console/common.py | |
parent | 0a2d2d93903ccc730cc7c2ca52f57a276d75bf83 (diff) | |
download | mitmproxy-b77cd1af606997f81890c1542f69d11daeda53b6.tar.gz mitmproxy-b77cd1af606997f81890c1542f69d11daeda53b6.tar.bz2 mitmproxy-b77cd1af606997f81890c1542f69d11daeda53b6.zip |
extracted server_copy_response to common
Diffstat (limited to 'libmproxy/console/common.py')
-rw-r--r-- | libmproxy/console/common.py | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/libmproxy/console/common.py b/libmproxy/console/common.py index 3e6e5ccc..3ba89f8e 100644 --- a/libmproxy/console/common.py +++ b/libmproxy/console/common.py @@ -3,7 +3,10 @@ import urwid import urwid.util from .. import utils from ..protocol.http import CONTENT_MISSING - +try: + import pyperclip +except: + pyperclip = False VIEW_LIST = 0 VIEW_FLOW = 1 @@ -161,6 +164,21 @@ def raw_format_flow(f, focus, extended, padding): pile.append(urwid.Columns(resp, dividechars=1)) return urwid.Pile(pile) +def server_copy_response( k, response, statusbar): + if pyperclip: + if k == "c": + try: + pyperclip.copy(response.get_decoded_content()) + except TypeError: + statusbar.message("Content is binary or can be converted to text") + elif k == "h": + try: + pyperclip.copy(str(response.headers)) + except TypeError: + statusbar.message("Error converting headers to text") + else: + statusbar.message("No clipboard support on your system, sorry.") + class FlowCache: @utils.LRUCache(200) |