mirror of
https://github.com/Grasscutters/mitmproxy.git
synced 2024-11-27 02:24:18 +00:00
Add set_cookies method to HTTPResponse
This commit is contained in:
parent
ab7e2857cc
commit
c335c2b533
@ -918,6 +918,25 @@ class HTTPResponse(HTTPMessage):
|
|||||||
ret.append([name, [value, attrs]])
|
ret.append([name, [value, attrs]])
|
||||||
return odict.ODict(ret)
|
return odict.ODict(ret)
|
||||||
|
|
||||||
|
def set_cookies(self, odict):
|
||||||
|
"""
|
||||||
|
Set the Set-Cookie headers on this response, over-writing existing
|
||||||
|
headers.
|
||||||
|
|
||||||
|
Accepts an ODict of the same format as that returned by get_cookies.
|
||||||
|
"""
|
||||||
|
values = []
|
||||||
|
for i in odict.lst:
|
||||||
|
values.append(
|
||||||
|
http_cookies.format_set_cookie_header(
|
||||||
|
i[0],
|
||||||
|
i[1][0],
|
||||||
|
i[1][1]
|
||||||
|
)
|
||||||
|
)
|
||||||
|
self.headers["Set-Cookie"] = values
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class HTTPFlow(Flow):
|
class HTTPFlow(Flow):
|
||||||
"""
|
"""
|
||||||
|
@ -285,6 +285,17 @@ class TestHTTPResponse:
|
|||||||
assert "othercookie" in result
|
assert "othercookie" in result
|
||||||
assert result["othercookie"][0] == ["othervalue", odict.ODict()]
|
assert result["othercookie"][0] == ["othervalue", odict.ODict()]
|
||||||
|
|
||||||
|
def test_set_cookies(self):
|
||||||
|
h = odict.ODictCaseless()
|
||||||
|
resp = tutils.tresp()
|
||||||
|
v = resp.get_cookies()
|
||||||
|
v.add("foo", ["bar", odict.ODictCaseless()])
|
||||||
|
resp.set_cookies(v)
|
||||||
|
|
||||||
|
v = resp.get_cookies()
|
||||||
|
assert len(v) == 1
|
||||||
|
assert v["foo"] == [["bar", odict.ODictCaseless()]]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class TestHTTPFlow(object):
|
class TestHTTPFlow(object):
|
||||||
|
Loading…
Reference in New Issue
Block a user