Skip to content

Commit

Permalink
Merge pull request #21 from camomile-project/feature/fix_headers
Browse files Browse the repository at this point in the history
fix Content-Type header and data composition
  • Loading branch information
redodo committed Feb 6, 2015
2 parents 9ee3ee5 + b25024e commit ab8a377
Showing 1 changed file with 8 additions and 6 deletions.
14 changes: 8 additions & 6 deletions tortilla/wrappers.py
Original file line number Diff line number Diff line change
Expand Up @@ -130,8 +130,14 @@ def request(self, method, url, path=(), extension=None, params=None,
request_headers = dict(self.headers.__dict__)
if headers is not None:
request_headers.update(headers)
request_headers.setdefault('Content-Type',
formats.meta(format).get('content_type'))

# add Content-Type header & compose data, only when
# 1. content is actually sent (whatever the HTTP verb is used)
# 2. format is provided ('json' by default)
if format and (data is not None):
request_headers.setdefault(
'Content-Type', formats.meta(format).get('content_type'))
data = formats.compose(format, data)

# form the URL
if not isinstance(path, string_type):
Expand All @@ -142,10 +148,6 @@ def request(self, method, url, path=(), extension=None, params=None,
extension = '.' + extension
url = '%s%s%s' % (url, path, extension)

# compose the POST or PUT data if required
if method.lower() in ('post', 'put') and format:
data = formats.compose(format, data)

# log a debug message about the request we're about to make
self._log(debug_messages['request'], debug, method=method.upper(),
url=url, headers=request_headers, params=params, data=data)
Expand Down

0 comments on commit ab8a377

Please sign in to comment.