From 8e69b9884439a2f70780ee92c395d3194cba05bf Mon Sep 17 00:00:00 2001 From: Javier Aguirre Date: Tue, 6 Dec 2016 18:10:44 +0100 Subject: [PATCH] Fix UnboundLocalError response (#476) (#481) --- elasticsearch/connection/http_requests.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/elasticsearch/connection/http_requests.py b/elasticsearch/connection/http_requests.py index 6c9a924b..4ffd97a6 100644 --- a/elasticsearch/connection/http_requests.py +++ b/elasticsearch/connection/http_requests.py @@ -67,17 +67,21 @@ class RequestsHttpConnection(Connection): start = time.time() try: - response = self.session.request(method, url, data=body, timeout=timeout or self.timeout) + request = requests.Request(method=method, url=url, data=body) + prepared_request = self.session.prepare_request(request) + response = self.session.send( + prepared_request, + timeout=timeout or self.timeout) duration = time.time() - start raw_data = response.text except requests.exceptions.SSLError as e: - self.log_request_fail(method, url, response.request.path_url, body, time.time() - start, exception=e) + self.log_request_fail(method, url, prepared_request.path_url, body, time.time() - start, exception=e) raise SSLError('N/A', str(e), e) except requests.Timeout as e: - self.log_request_fail(method, url, response.request.path_url, body, time.time() - start, exception=e) + self.log_request_fail(method, url, prepared_request.path_url, body, time.time() - start, exception=e) raise ConnectionTimeout('TIMEOUT', str(e), e) except requests.ConnectionError as e: - self.log_request_fail(method, url, response.request.path_url, body, time.time() - start, exception=e) + self.log_request_fail(method, url, prepared_request.path_url, body, time.time() - start, exception=e) raise ConnectionError('N/A', str(e), e) # raise errors based on http status codes, let the client handle those if needed