diff --git a/dj_database_url.py b/dj_database_url.py index 6dc1fbb..32a4f6c 100644 --- a/dj_database_url.py +++ b/dj_database_url.py @@ -44,7 +44,7 @@ } -def config(env=DEFAULT_ENV, default=None, engine=None, conn_max_age=0): +def config(env=DEFAULT_ENV, default=None, engine=None, conn_max_age=0, ssl_require=False): """Returns configured DATABASE dictionary from DATABASE_URL.""" config = {} @@ -52,12 +52,12 @@ def config(env=DEFAULT_ENV, default=None, engine=None, conn_max_age=0): s = os.environ.get(env, default) if s: - config = parse(s, engine, conn_max_age) + config = parse(s, engine, conn_max_age, ssl_require) return config -def parse(url, engine=None, conn_max_age=0): +def parse(url, engine=None, conn_max_age=0, ssl_require=False): """Parses a database URL.""" if url == 'sqlite://:memory:': @@ -124,6 +124,9 @@ def parse(url, engine=None, conn_max_age=0): options[key] = values[-1] + if ssl_require: + options['sslmode'] = 'require' + # Support for Postgres Schema URLs if 'currentSchema' in options and engine in ( 'django.contrib.gis.db.backends.postgis', diff --git a/setup.py b/setup.py index 6d47526..e51d01a 100644 --- a/setup.py +++ b/setup.py @@ -37,7 +37,7 @@ import dj_database_url - DATABASES['default'] = dj_database_url.config(conn_max_age=600) + DATABASES['default'] = dj_database_url.config(conn_max_age=600, ssl_require=True) Provide a default:: @@ -59,7 +59,7 @@ setup( name='dj-database-url', - version='0.4.1', + version='0.5.0', url='https://github.com/kennethreitz/dj-database-url', license='BSD', author='Kenneth Reitz',