From abe1b7fa769916ac9917fd538fea03a3aa71ec86 Mon Sep 17 00:00:00 2001 From: melange396 Date: Wed, 31 May 2023 14:18:56 -0400 Subject: [PATCH 1/2] dont look up user if no api key is given (#1185) * dont look up user if no api key is given * disable recording of last key usage in redis (temporarily) --- src/server/_common.py | 4 ++++ src/server/_security.py | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/server/_common.py b/src/server/_common.py index 6c424326e..8322f2da6 100644 --- a/src/server/_common.py +++ b/src/server/_common.py @@ -162,6 +162,10 @@ def after_request_execute(response): @app.teardown_appcontext def teardown_db(exception=None): + # drop reference to "user" (if it exists) + if "user" in g: + g.pop("user") + # close the db connection db = g.pop("db", None) diff --git a/src/server/_security.py b/src/server/_security.py index 36fb1d93b..761d088c3 100644 --- a/src/server/_security.py +++ b/src/server/_security.py @@ -81,7 +81,10 @@ def require_api_key() -> bool: def _get_current_user(): if "user" not in g: api_key = resolve_auth_token() - g.user = User.find_user(api_key=api_key) + if api_key: + g.user = User.find_user(api_key=api_key) + else: + g.user = None return g.user @@ -122,6 +125,8 @@ def decorated_function(*args, **kwargs): def update_key_last_time_used(user): + # TODO: reenable this once cc<-->aws latency issues are sorted out, or maybe do this call asynchronously + return if user: # update last usage for this user's api key to "now()" r = redis.Redis(host=REDIS_HOST, password=REDIS_PASSWORD) From f66d19c2ea9a92e63e7c246f6f64d4ec9dca3eef Mon Sep 17 00:00:00 2001 From: melange396 Date: Wed, 31 May 2023 18:30:22 +0000 Subject: [PATCH 2/2] chore: release delphi-epidata 4.1.2 --- .bumpversion.cfg | 2 +- dev/local/setup.cfg | 2 +- src/client/delphi_epidata.R | 2 +- src/client/delphi_epidata.js | 2 +- src/client/packaging/npm/package.json | 2 +- src/client/packaging/pypi/delphi_epidata/__init__.py | 2 +- src/client/packaging/pypi/setup.py | 2 +- src/server/_config.py | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 2ee2721e5..4b95ce86d 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 4.1.1 +current_version = 4.1.2 commit = False tag = False diff --git a/dev/local/setup.cfg b/dev/local/setup.cfg index bfafec85f..7dedcefe4 100644 --- a/dev/local/setup.cfg +++ b/dev/local/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = Delphi Development -version = 4.1.1 +version = 4.1.2 [options] packages = diff --git a/src/client/delphi_epidata.R b/src/client/delphi_epidata.R index 8bd319f9a..8f80cda4e 100644 --- a/src/client/delphi_epidata.R +++ b/src/client/delphi_epidata.R @@ -15,7 +15,7 @@ Epidata <- (function() { # API base url BASE_URL <- getOption('epidata.url', default = 'https://api.delphi.cmu.edu/epidata/') - client_version <- '4.1.1' + client_version <- '4.1.2' auth <- getOption("epidata.auth", default = NA) diff --git a/src/client/delphi_epidata.js b/src/client/delphi_epidata.js index e8bb696a9..c23ec9919 100644 --- a/src/client/delphi_epidata.js +++ b/src/client/delphi_epidata.js @@ -22,7 +22,7 @@ } })(this, function (exports, fetchImpl, jQuery) { const BASE_URL = "https://api.delphi.cmu.edu/epidata/"; - const client_version = "4.1.1"; + const client_version = "4.1.2"; // Helper function to cast values and/or ranges to strings function _listitem(value) { diff --git a/src/client/packaging/npm/package.json b/src/client/packaging/npm/package.json index 30dd96845..b7c7d5f93 100644 --- a/src/client/packaging/npm/package.json +++ b/src/client/packaging/npm/package.json @@ -2,7 +2,7 @@ "name": "delphi_epidata", "description": "Delphi Epidata API Client", "authors": "Delphi Group", - "version": "4.1.1", + "version": "4.1.2", "license": "MIT", "homepage": "https://github.com/cmu-delphi/delphi-epidata", "bugs": { diff --git a/src/client/packaging/pypi/delphi_epidata/__init__.py b/src/client/packaging/pypi/delphi_epidata/__init__.py index 725c9b24b..547775f8f 100644 --- a/src/client/packaging/pypi/delphi_epidata/__init__.py +++ b/src/client/packaging/pypi/delphi_epidata/__init__.py @@ -1,4 +1,4 @@ from .delphi_epidata import Epidata name = 'delphi_epidata' -__version__ = '4.1.1' +__version__ = '4.1.2' diff --git a/src/client/packaging/pypi/setup.py b/src/client/packaging/pypi/setup.py index 6ab5e69c3..570910316 100644 --- a/src/client/packaging/pypi/setup.py +++ b/src/client/packaging/pypi/setup.py @@ -5,7 +5,7 @@ setuptools.setup( name="delphi_epidata", - version="4.1.1", + version="4.1.2", author="David Farrow", author_email="dfarrow0@gmail.com", description="A programmatic interface to Delphi's Epidata API.", diff --git a/src/server/_config.py b/src/server/_config.py index 6f6887c74..dadeaa99c 100644 --- a/src/server/_config.py +++ b/src/server/_config.py @@ -7,7 +7,7 @@ load_dotenv() -VERSION = "4.1.1" +VERSION = "4.1.2" MAX_RESULTS = int(10e6) MAX_COMPATIBILITY_RESULTS = int(3650)