Skip to content

Commit 079976b

Browse files
committed
Remove duplicate code
In the Client class: setConnectionProperties() - Call caseConvertHeaders() instead of duplicating its code caseConvertHeaders() - Only do case conversion New function updateWithDefaultHeaders() - Call caseConvertHeaders() on the input - Do the defaultHeaders update which we removed from caseConvertHeaders() request() - Call updateWithDefaultHeaders() instead of caseConvertHeaders()
1 parent 54b4b08 commit 079976b

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

agithub.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
# can be explicitly overridden by the client code. (Used in Client
2323
# objects.)
2424
DEFAULT_HEADERS = {
25-
#XXX: Header field names MUST be lowercase; this is not checked
2625
'user-agent': 'agithub/' + STR_VERSION
2726
}
2827

@@ -188,10 +187,7 @@ def setConnectionProperties(self, props):
188187
self.defaultHeaders.update(self.prop.extra_headers)
189188

190189
# Enforce case restrictions on self.defaultHeaders
191-
tmpDict = {}
192-
for k,v in self.defaultHeaders.items():
193-
tmpDict[k.lower()] = v
194-
self.defaultHeaders = tmpDict
190+
self.defaultHeaders = self.caseConvertHeaders(self.defaultHeaders)
195191

196192
def head(self, url, headers={}, **params):
197193
url += self.urlEncode(params)
@@ -224,7 +220,7 @@ def patch(self, url, body=None, headers={}, **params):
224220
def request(self, method, url, body, headers):
225221
'''Low-level networking. All HTTP-method methods call this'''
226222

227-
headers = self.caseConvertHeaders(headers)
223+
headers = self.updateWithDefaultHeaders(headers)
228224

229225
if self.username:
230226
headers['authorization'] = self.authHeader
@@ -245,9 +241,11 @@ def caseConvertHeaders(self, headers):
245241
tmpDict = {}
246242
for k,v in headers.items():
247243
tmpDict[k.lower()] = v
248-
headers = tmpDict
244+
return tmpDict
249245

250-
# Add default headers (if unspecified)
246+
def updateWithDefaultHeaders(self, headers):
247+
# Add default headers (if absent)
248+
headers = self.caseConvertHeaders(headers)
251249
for k,v in self.defaultHeaders.items():
252250
if k not in headers:
253251
headers[k] = v

0 commit comments

Comments
 (0)