Merge lp:~jelmer/brz/http-header-overrides into lp:brz

Proposed by Jelmer Vernooij
Status: Merged
Approved by: Jelmer Vernooij
Approved revision: no longer in the source branch.
Merge reported by: The Breezy Bot
Merged at revision: not available
Proposed branch: lp:~jelmer/brz/http-header-overrides
Merge into: lp:brz
Diff against target: 50 lines (+8/-4)
3 files modified
breezy/plugins/launchpad/lp_registration.py (+2/-3)
breezy/transport/http/_urllib2_wrappers.py (+3/-1)
doc/en/release-notes/brz-3.0.txt (+3/-0)
To merge this branch: bzr merge lp:~jelmer/brz/http-header-overrides
Reviewer Review Type Date Requested Status
Jelmer Vernooij Approve
Martin Packman Approve
Review via email: mp+341185@code.launchpad.net

Commit message

Only set default HTTP headers if they weren't provided by the caller.

Description of the change

Only set default HTTP headers if they weren't provided by the caller.

Any suggetions on how to properly test this?

To post a comment you must log in.
Revision history for this message
Vincent Ladeuil (vila) wrote :

> Any suggestions on how to properly test this?

Setting up a dedicated http server to check which headers (or even only the ones the test cares about) are received seems to be the most appropriate.

Revision history for this message
Martin Packman (gz) wrote :

Thanks.

review: Approve
Revision history for this message
The Breezy Bot (the-breezy-bot) wrote :
Revision history for this message
Jelmer Vernooij (jelmer) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'breezy/plugins/launchpad/lp_registration.py'
2--- breezy/plugins/launchpad/lp_registration.py 2017-09-26 00:55:04 +0000
3+++ breezy/plugins/launchpad/lp_registration.py 2018-03-08 23:28:51 +0000
4@@ -74,8 +74,7 @@
5 self.verbose = verbose
6 url = self._scheme + "://" + host + handler
7 request = _urllib2_wrappers.Request("POST", url, request_body)
8- # FIXME: _urllib2_wrappers will override user-agent with its own
9- # request.add_header("User-Agent", self.user_agent)
10+ request.add_header("User-Agent", self.user_agent)
11 request.add_header("Content-Type", "text/xml")
12
13 response = self._opener.open(request)
14@@ -122,7 +121,7 @@
15 if transport is None:
16 uri_type = urllib.splittype(self.service_url)[0]
17 transport = XMLRPCTransport(uri_type)
18- transport.user_agent = 'bzr/%s (xmlrpclib/%s)' \
19+ transport.user_agent = 'Breezy/%s (xmlrpclib/%s)' \
20 % (_breezy_version, xmlrpclib.__version__)
21 self.transport = transport
22
23
24=== modified file 'breezy/transport/http/_urllib2_wrappers.py'
25--- breezy/transport/http/_urllib2_wrappers.py 2018-01-23 01:12:07 +0000
26+++ breezy/transport/http/_urllib2_wrappers.py 2018-03-08 23:28:51 +0000
27@@ -669,7 +669,9 @@
28 def http_request(self, request):
29 """Common headers setting"""
30
31- request.headers.update(self._default_headers.copy())
32+ for name, value in self._default_headers.items():
33+ if name not in request.headers:
34+ request.headers[name] = value
35 # FIXME: We may have to add the Content-Length header if
36 # we have data to send.
37 return request
38
39=== modified file 'doc/en/release-notes/brz-3.0.txt'
40--- doc/en/release-notes/brz-3.0.txt 2018-02-09 23:09:53 +0000
41+++ doc/en/release-notes/brz-3.0.txt 2018-03-08 23:28:51 +0000
42@@ -260,6 +260,9 @@
43 .. Major internal changes, unlikely to be visible to users or plugin
44 developers, but interesting for brz developers.
45
46+* Allow overriding of default HTTP headers by caller.
47+ (Jelmer Vernooij, #1753734)
48+
49 Testing
50 *******
51

Subscribers

People subscribed via source and target branches