Skip to content

Commit e22ef58

Browse files
authored
Merge pull request #567 from swagger-api/codegen-9624
added support for api key refresh in configuration module
2 parents 627212d + 3f2dd29 commit e22ef58

File tree

2 files changed

+24
-10
lines changed

2 files changed

+24
-10
lines changed

src/main/resources/handlebars/python/configuration.mustache

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ class Configuration(six.with_metaclass(TypeWithDefault, object)):
4747
self.api_key = {}
4848
# dict to store API prefix (e.g. Bearer)
4949
self.api_key_prefix = {}
50+
# function to refresh API key if expired
51+
self.refresh_api_key_hook = None
5052
# Username for HTTP basic authentication
5153
self.username = ""
5254
# Password for HTTP basic authentication
@@ -197,11 +199,16 @@ class Configuration(six.with_metaclass(TypeWithDefault, object)):
197199
:param identifier: The identifier of apiKey.
198200
:return: The token for api key authentication.
199201
"""
200-
if (self.api_key.get(identifier) and
201-
self.api_key_prefix.get(identifier)):
202-
return self.api_key_prefix[identifier] + ' ' + self.api_key[identifier] # noqa: E501
203-
elif self.api_key.get(identifier):
204-
return self.api_key[identifier]
202+
if self.refresh_api_key_hook:
203+
self.refresh_api_key_hook(self)
204+
205+
key = self.api_key.get(identifier)
206+
if key:
207+
prefix = self.api_key_prefix.get(identifier)
208+
if prefix:
209+
return "%s %s" % (prefix, key)
210+
else:
211+
return key
205212

206213
def get_basic_auth_token(self):
207214
"""Gets HTTP basic authentication header (string).

src/main/resources/mustache/python/configuration.mustache

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ class Configuration(six.with_metaclass(TypeWithDefault, object)):
4747
self.api_key = {}
4848
# dict to store API prefix (e.g. Bearer)
4949
self.api_key_prefix = {}
50+
# function to refresh API key if expired
51+
self.refresh_api_key_hook = None
5052
# Username for HTTP basic authentication
5153
self.username = ""
5254
# Password for HTTP basic authentication
@@ -197,11 +199,16 @@ class Configuration(six.with_metaclass(TypeWithDefault, object)):
197199
:param identifier: The identifier of apiKey.
198200
:return: The token for api key authentication.
199201
"""
200-
if (self.api_key.get(identifier) and
201-
self.api_key_prefix.get(identifier)):
202-
return self.api_key_prefix[identifier] + ' ' + self.api_key[identifier] # noqa: E501
203-
elif self.api_key.get(identifier):
204-
return self.api_key[identifier]
202+
if self.refresh_api_key_hook:
203+
self.refresh_api_key_hook(self)
204+
205+
key = self.api_key.get(identifier)
206+
if key:
207+
prefix = self.api_key_prefix.get(identifier)
208+
if prefix:
209+
return "%s %s" % (prefix, key)
210+
else:
211+
return key
205212

206213
def get_basic_auth_token(self):
207214
"""Gets HTTP basic authentication header (string).

0 commit comments

Comments
 (0)