From d774b12ba62e3f44235f3fadd749812faf9754de Mon Sep 17 00:00:00 2001 From: Mike Schwartz Date: Wed, 13 Jun 2012 19:47:48 -0700 Subject: [PATCH] Added support for Content-Language header --- boto/s3/bucket.py | 1 + boto/s3/key.py | 5 +++++ tests/integration/s3/mock_storage_service.py | 3 +++ 3 files changed, 9 insertions(+) diff --git a/boto/s3/bucket.py b/boto/s3/bucket.py index 434ff9f759..71488de298 100644 --- a/boto/s3/bucket.py +++ b/boto/s3/bucket.py @@ -184,6 +184,7 @@ def get_key(self, key_name, headers=None, version_id=None, response_headers=None k.content_type = response.getheader('content-type') k.content_encoding = response.getheader('content-encoding') k.content_disposition = response.getheader('content-disposition') + k.content_language = response.getheader('content-language') k.last_modified = response.getheader('last-modified') # the following machinations are a workaround to the fact that # apache/fastcgi omits the content-length header on HEAD diff --git a/boto/s3/key.py b/boto/s3/key.py index 81b9d78980..c3a0588874 100644 --- a/boto/s3/key.py +++ b/boto/s3/key.py @@ -54,6 +54,7 @@ def __init__(self, bucket=None, name=None): self.content_type = self.DefaultContentType self.content_encoding = None self.content_disposition = None + self.content_language = None self.filename = None self.etag = None self.is_latest = False @@ -187,6 +188,8 @@ def open_read(self, headers=None, query_args='', self.content_type = value elif name.lower() == 'content-encoding': self.content_encoding = value + elif name.lower() == 'content-language': + self.content_language = value elif name.lower() == 'last-modified': self.last_modified = value elif name.lower() == 'cache-control': @@ -686,6 +689,8 @@ def sender(http_conn, method, path, data, headers): headers[provider.storage_class_header] = self.storage_class if 'Content-Encoding' in headers: self.content_encoding = headers['Content-Encoding'] + if 'Content-Language' in headers: + self.content_encoding = headers['Content-Language'] if 'Content-Type' in headers: # Some use cases need to suppress sending of the Content-Type # header and depend on the receiving server to set the content diff --git a/tests/integration/s3/mock_storage_service.py b/tests/integration/s3/mock_storage_service.py index 2bd7743966..2c120ccac1 100644 --- a/tests/integration/s3/mock_storage_service.py +++ b/tests/integration/s3/mock_storage_service.py @@ -65,6 +65,7 @@ def __init__(self, bucket=None, name=None): self.etag = None self.size = None self.content_encoding = None + self.content_language = None self.content_type = None self.last_modified = 'Wed, 06 Oct 2010 05:11:54 GMT' self.BufferSize = 8192 @@ -100,6 +101,8 @@ def _handle_headers(self, headers): self.content_encoding = headers['Content-Encoding'] if 'Content-Type' in headers: self.content_type = headers['Content-Type'] + if 'Content-Language' in headers: + self.content_language = headers['Content-Language'] def open_read(self, headers=NOT_IMPL, query_args=NOT_IMPL, override_num_retries=NOT_IMPL):