diff --git a/elasticsearch/connection/http_urllib3.py b/elasticsearch/connection/http_urllib3.py index 59865e29..e2ae166d 100644 --- a/elasticsearch/connection/http_urllib3.py +++ b/elasticsearch/connection/http_urllib3.py @@ -142,10 +142,11 @@ class Urllib3HttpConnection(Connection): if not isinstance(method, str): method = method.encode('utf-8') + request_headers = self.headers if headers: - request_headers = dict(self.headers) - request_headers.update(headers or {}) - response = self.pool.urlopen(method, url, body, retries=False, headers=self.headers, **kw) + request_headers = request_headers.copy() + request_headers.update(headers) + response = self.pool.urlopen(method, url, body, retries=False, headers=request_headers, **kw) duration = time.time() - start raw_data = response.data.decode('utf-8') except Exception as e: