aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/console/common.py
diff options
context:
space:
mode:
Diffstat (limited to 'libmproxy/console/common.py')
-rw-r--r--libmproxy/console/common.py20
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)