Adds encode and decode methods to Response objects
This commit is contained in:
parent
e6288e2d07
commit
c1eaa9f74c
|
@ -543,8 +543,7 @@ class ConnectionView(WWrap):
|
|||
conn = self.flow.response
|
||||
e = conn.headers["content-encoding"] or ["identity"]
|
||||
if e[0] != "identity":
|
||||
conn.content = encoding.decode(e[0], conn.content)
|
||||
conn.headers["content-encoding"] = ["identity"]
|
||||
conn.decode()
|
||||
else:
|
||||
self.master.prompt_onekey(
|
||||
"Select encoding: ",
|
||||
|
@ -563,11 +562,7 @@ class ConnectionView(WWrap):
|
|||
"z": "gzip",
|
||||
"d": "deflate",
|
||||
}
|
||||
conn.content = encoding.encode(
|
||||
encoding_map[key],
|
||||
conn.content
|
||||
)
|
||||
conn.headers["content-encoding"] = [encoding_map[key]]
|
||||
conn.encode(encoding_map[key])
|
||||
self.master.refresh_connection(self.flow)
|
||||
|
||||
|
||||
|
|
|
@ -284,7 +284,7 @@ class Request(controller.Msg):
|
|||
"""
|
||||
Replaces a regular expression pattern with repl in both the headers
|
||||
and the body of the request. Returns the number of replacements
|
||||
made.
|
||||
made.
|
||||
"""
|
||||
self.content, c = re.subn(pattern, repl, self.content, count, flags)
|
||||
self.path, pc = re.subn(pattern, repl, self.path, count, flags)
|
||||
|
@ -422,12 +422,33 @@ class Response(controller.Msg):
|
|||
"""
|
||||
Replaces a regular expression pattern with repl in both the headers
|
||||
and the body of the response. Returns the number of replacements
|
||||
made.
|
||||
made.
|
||||
"""
|
||||
self.content, c = re.subn(pattern, repl, self.content, count, flags)
|
||||
c += self.headers.replace(pattern, repl, count, flags)
|
||||
return c
|
||||
|
||||
def decode(self):
|
||||
"""
|
||||
Alters Response object, decoding its content based on the current
|
||||
Content-Encoding header and changing Content-Encoding header to
|
||||
'identity'.
|
||||
"""
|
||||
self.content = encoding.decode(
|
||||
(self.headers["content-encoding"] or ["identity"])[0],
|
||||
self.content
|
||||
)
|
||||
self.headers["content-encoding"] = ["identity"]
|
||||
|
||||
def encode(self, e):
|
||||
"""
|
||||
Alters Response object, encoding its content with the specified
|
||||
coding. This method should only be called on Responses with
|
||||
Content-Encoding headers of 'identity'.
|
||||
"""
|
||||
self.content = encoding.encode(e, self.content)
|
||||
self.headers["content-encoding"] = [e]
|
||||
|
||||
|
||||
class ClientDisconnect(controller.Msg):
|
||||
def __init__(self, client_conn):
|
||||
|
@ -501,7 +522,7 @@ class Error(controller.Msg):
|
|||
"""
|
||||
Replaces a regular expression pattern with repl in both the headers
|
||||
and the body of the request. Returns the number of replacements
|
||||
made.
|
||||
made.
|
||||
"""
|
||||
self.msg, c = re.subn(pattern, repl, self.msg, count, flags)
|
||||
return c
|
||||
|
|
Loading…
Reference in New Issue