From 5fccd1e793d36dbfc4c5c584a6214c7abcf40da5 Mon Sep 17 00:00:00 2001 From: Honza Kral Date: Wed, 2 Oct 2013 00:42:38 +0200 Subject: [PATCH] Allow lists for http_auth in RequestsHttpConnection thanks nkvoll! --- elasticsearch/connection/http.py | 3 ++- test_elasticsearch/test_connection.py | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/elasticsearch/connection/http.py b/elasticsearch/connection/http.py index d8ab2571..6e3e016b 100644 --- a/elasticsearch/connection/http.py +++ b/elasticsearch/connection/http.py @@ -21,8 +21,9 @@ class RequestsHttpConnection(Connection): super(RequestsHttpConnection, self).__init__(host= host, port=port, **kwargs) self.session = requests.session() if http_auth is not None: - if not isinstance(http_auth, tuple): + if not isinstance(http_auth, (tuple, list)): http_auth = tuple(http_auth.split(':', 1)) + http_auth = tuple(http_auth) self.session.auth = http_auth self.base_url = 'http%s://%s:%d%s' % ( 's' if use_ssl else '', diff --git a/test_elasticsearch/test_connection.py b/test_elasticsearch/test_connection.py index 1320e070..d7009b9f 100644 --- a/test_elasticsearch/test_connection.py +++ b/test_elasticsearch/test_connection.py @@ -79,6 +79,10 @@ class TestRequestsConnection(TestCase): con = RequestsHttpConnection(http_auth='username:secret') self.assertEquals(('username', 'secret'), con.session.auth) + def test_http_auth_list(self): + con = RequestsHttpConnection(http_auth=['username', 'secret']) + self.assertEquals(('username', 'secret'), con.session.auth) + def test_http_auth_tuple(self): con = RequestsHttpConnection(http_auth=('username', 'secret')) self.assertEquals(('username', 'secret'), con.session.auth)