diff --git a/elasticsearch/connection/base.py b/elasticsearch/connection/base.py index 5c55c8aa..e97d6169 100644 --- a/elasticsearch/connection/base.py +++ b/elasticsearch/connection/base.py @@ -26,14 +26,15 @@ class Connection(object): """ transport_schema = 'http' - def __init__(self, host='localhost', port=9200, url_prefix='', timeout=10, **kwargs): + def __init__(self, host='localhost', port=9200, use_ssl=False, url_prefix='', timeout=10, **kwargs): """ :arg host: hostname of the node (default: localhost) :arg port: port to use (integer, default: 9200) :arg url_prefix: optional url prefix for elasticsearch :arg timeout: default timeout in seconds (float, default: 10) """ - self.host = '%s://%s:%s' % (self.transport_schema, host, port) + scheme = 'https' if use_ssl else 'http' + self.host = '%s://%s:%s' % (scheme, host, port) if url_prefix: url_prefix = '/' + url_prefix.strip('/') self.url_prefix = url_prefix diff --git a/elasticsearch/connection/http_urllib3.py b/elasticsearch/connection/http_urllib3.py index 1e9d4816..866635f4 100644 --- a/elasticsearch/connection/http_urllib3.py +++ b/elasticsearch/connection/http_urllib3.py @@ -39,7 +39,7 @@ class Urllib3HttpConnection(Connection): client_key=None, ssl_version=None, ssl_assert_hostname=None, ssl_assert_fingerprint=None, maxsize=10, **kwargs): - super(Urllib3HttpConnection, self).__init__(host=host, port=port, **kwargs) + super(Urllib3HttpConnection, self).__init__(host=host, port=port, use_ssl=use_ssl, **kwargs) self.headers = urllib3.make_headers(keep_alive=True) if http_auth is not None: if isinstance(http_auth, (tuple, list)):