diff options
| author | Shadab Zafar <dufferzafar0@gmail.com> | 2016-01-13 19:21:13 +0530 | 
|---|---|---|
| committer | Shadab Zafar <dufferzafar0@gmail.com> | 2016-01-13 19:21:13 +0530 | 
| commit | 152e395fa49fc534e6897cf2411b7ce27e1d379f (patch) | |
| tree | 7314869f99388c4ba7aeaf4f14ad400f892b9f89 /libmproxy | |
| parent | 34ec2d1370d0066c47f37819b543ec8465332c12 (diff) | |
| download | mitmproxy-152e395fa49fc534e6897cf2411b7ce27e1d379f.tar.gz mitmproxy-152e395fa49fc534e6897cf2411b7ce27e1d379f.tar.bz2 mitmproxy-152e395fa49fc534e6897cf2411b7ce27e1d379f.zip  | |
Copy as raw request
Issue #807
I am not entirely sure what needs to be returned in this case.
Diffstat (limited to 'libmproxy')
| -rw-r--r-- | libmproxy/console/common.py | 12 | ||||
| -rw-r--r-- | libmproxy/console/flowlist.py | 1 | ||||
| -rw-r--r-- | libmproxy/console/flowview.py | 1 | 
3 files changed, 14 insertions, 0 deletions
diff --git a/libmproxy/console/common.py b/libmproxy/console/common.py index 2ea77449..db40201f 100644 --- a/libmproxy/console/common.py +++ b/libmproxy/console/common.py @@ -282,6 +282,8 @@ def export_prompt(k, flow):          copy_as_curl_command(flow)      elif k == "p":          copy_as_python_code(flow) +    elif k == "r": +        copy_as_raw_request(flow)  def copy_as_curl_command(flow): @@ -331,6 +333,16 @@ def copy_as_python_code(flow):      copy_to_clipboard_or_prompt(data) +def copy_as_raw_request(flow): +    if flow.request.content is None or flow.request.content == CONTENT_MISSING: +        signals.status_message.send(message="Request content is missing") +        return + +    data = netlib.http.http1.assemble_request(flow.request) + +    copy_to_clipboard_or_prompt(data) + +  def copy_to_clipboard_or_prompt(data):      # pyperclip calls encode('utf-8') on data to be copied without checking.      # if data are already encoded that way UnicodeDecodeError is thrown. diff --git a/libmproxy/console/flowlist.py b/libmproxy/console/flowlist.py index b52c0fea..2c18d197 100644 --- a/libmproxy/console/flowlist.py +++ b/libmproxy/console/flowlist.py @@ -262,6 +262,7 @@ class ConnectionItem(urwid.WidgetWrap):                  keys = (                      ("as curl command", "c"),                      ("as python code", "p"), +                    ("as raw request", "r"),                  ),                  callback = common.export_prompt,                  args = (self.flow,) diff --git a/libmproxy/console/flowview.py b/libmproxy/console/flowview.py index 3a745262..7962c69c 100644 --- a/libmproxy/console/flowview.py +++ b/libmproxy/console/flowview.py @@ -582,6 +582,7 @@ class FlowView(tabs.Tabs):                  keys = (                      ("as curl command", "c"),                      ("as python code", "p"), +                    ("as raw request", "r"),                  ),                  callback = common.export_prompt,                  args = (self.flow,)  | 
