def _handle_headers(self, headers): if not headers: return if find_matching_headers("Content-Encoding", headers): self.content_encoding = merge_headers_by_name("Content-Encoding", headers) if find_matching_headers("Content-Type", headers): self.content_type = merge_headers_by_name("Content-Type", headers) if find_matching_headers("Content-Language", headers): self.content_language = merge_headers_by_name("Content-Language", headers)
def _handle_headers(self, headers): if not headers: return if find_matching_headers('Content-Encoding', headers): self.content_encoding = merge_headers_by_name( 'Content-Encoding', headers) if find_matching_headers('Content-Type', headers): self.content_type = merge_headers_by_name('Content-Type', headers) if find_matching_headers('Content-Language', headers): self.content_language = merge_headers_by_name( 'Content-Language', headers)
def upload_pseudo_file(bucket, key_name, length, chunk_size_list=None, **kwargs): '''Set contents of key from pseudofile with large size. ''' if 'headers' in kwargs: headers = kwargs['headers'].copy() else: headers = {} if 'query_args' in kwargs: query_args = kwargs['query_args'] else: query_args = None # Overwrite user-supplied user-agent. for header in find_matching_headers('User-Agent', headers): del headers[header] headers['User-Agent'] = UserAgent # Overwrite user-supplied date. for header in find_matching_headers('Date', headers): del headers[header] utc_time = time.strftime('%a, %d %b %Y %H:%M:%S GMT', time.localtime(time.time())) headers['Date'] = utc_time hash_string = 'PUT' + '\n' + '\n' + '\n' + utc_time + '\n' request_resource = '/' + urllib.quote(bucket.name, '') + \ '/' + urllib.quote(key_name, '') if query_args: request_resource += '?' + query_args hash_string += request_resource signature = get_signature(bucket.connection.provider.secret_key, hash_string) authorization = 'AWS' + ' ' + bucket.connection.provider.access_key + \ ":" + signature pseudofile = filehelper.PseudoFile(length) if not find_matching_headers('Content-Length', headers): headers['Content-Length'] = length if not find_matching_headers('Authorization', headers): headers['Authorization'] = authorization return pseudofile, _make_request(bucket, 'PUT', request_resource, headers, pseudofile)