Skip to content

Commit cb7643e

Browse files
authored
Merge pull request #51 from janantos/master
SSL Support
2 parents cc6a48b + 5134458 commit cb7643e

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

README.rst

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,12 @@ The DSN format is similar to that of regular Postgres::
1818
>>> import sqlalchemy as sa
1919
>>> sa.create_engine('clickhouse://username:password@hostname:port/database')
2020
Engine('clickhouse://username:password@hostname:port/database')
21+
22+
For SSL add ssl parameter to URL::
23+
24+
>>> import sqlalchemy as sa
25+
>>> sa.create_engine('clickhouse://username:password@hostname:port/database?ssl=True')
26+
Engine('clickhouse://username:password@hostname:port/database')
2127

2228
It implements a dialect, so there's no user-facing API.
2329

connector.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,13 @@ class Connection(Database):
125125
"""
126126
These objects are small stateless factories for cursors, which do all the real work.
127127
"""
128-
def __init__(self, db_name, db_url='http://localhost:8123/', username=None, password=None, readonly=False):
128+
def __init__(self, db_name, db_url='http://localhost:8123/', username=None, password=None, readonly=False, ssl="False"):
129+
if ssl.upper() == "TRUE":
130+
db_url = db_url.replace("http", "https")
131+
elif ssl.upper() == "FALSE":
132+
pass
133+
else:
134+
raise ValueError("Not Supported value of ssl parameter, only True/False values are accepted")
129135
super(Connection, self).__init__(db_name, db_url, username, password, readonly)
130136
self.db_name = db_name
131137
self.db_url = db_url

0 commit comments

Comments
 (0)