aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/console/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'libmproxy/console/__init__.py')
-rw-r--r--libmproxy/console/__init__.py33
1 files changed, 27 insertions, 6 deletions
diff --git a/libmproxy/console/__init__.py b/libmproxy/console/__init__.py
index d12b16b3..da110cdb 100644
--- a/libmproxy/console/__init__.py
+++ b/libmproxy/console/__init__.py
@@ -122,28 +122,32 @@ class StatusBar(common.WWrap):
if self.master.client_playback:
r.append("[")
- r.append(("statusbar_highlight", "cplayback"))
+ r.append(("key", "cplayback"))
r.append(":%s to go]"%self.master.client_playback.count())
if self.master.server_playback:
r.append("[")
- r.append(("statusbar_highlight", "splayback"))
+ r.append(("key", "splayback"))
r.append(":%s to go]"%self.master.server_playback.count())
if self.master.state.intercept_txt:
r.append("[")
- r.append(("statusbar_highlight", "i"))
+ r.append(("key", "i"))
r.append(":%s]"%self.master.state.intercept_txt)
if self.master.state.limit_txt:
r.append("[")
- r.append(("statusbar_highlight", "l"))
+ r.append(("key", "l"))
r.append(":%s]"%self.master.state.limit_txt)
if self.master.stickycookie_txt:
r.append("[")
- r.append(("statusbar_highlight", "t"))
+ r.append(("key", "t"))
r.append(":%s]"%self.master.stickycookie_txt)
if self.master.stickyauth_txt:
r.append("[")
- r.append(("statusbar_highlight", "u"))
+ r.append(("key", "u"))
r.append(":%s]"%self.master.stickyauth_txt)
+ if self.master.server.config.reverse_proxy:
+ r.append("[")
+ r.append(("key", "R"))
+ r.append(":%s]"%utils.unparse_url(*self.master.server.config.reverse_proxy))
opts = []
if self.master.anticache:
@@ -667,6 +671,12 @@ class ConsoleMaster(flow.FlowMaster):
def set_intercept(self, txt):
return self.state.set_intercept(txt)
+ def set_reverse_proxy(self, txt):
+ s = utils.parse_proxy_spec(txt)
+ if not s:
+ return "Invalid reverse proxy specification"
+ self.server.config.reverse_proxy = s
+
def changeview(self, v):
if v == "r":
self.state.view_body_mode = common.VIEW_BODY_RAW
@@ -754,6 +764,17 @@ class ConsoleMaster(flow.FlowMaster):
),
self.quit,
)
+ elif k == "R":
+ if self.server.config.reverse_proxy:
+ p = utils.unparse_url(*self.server.config.reverse_proxy)
+ else:
+ p = ""
+ self.prompt(
+ "Reverse proxy: ",
+ p,
+ self.set_reverse_proxy
+ )
+ self.sync_list_view()
elif k == "s":
if self.script:
self.load_script(None)