summaryrefslogtreecommitdiff
path: root/horizon/middleware/operation_log.py
diff options
context:
space:
mode:
authorAkihiro Motoki <amotoki@gmail.com>2019-09-25 21:29:05 +0900
committerAkihiro Motoki <amotoki@gmail.com>2019-09-26 14:31:17 +0900
commitec970fd6e85b19126409ef39aefa013bac701503 (patch)
tree3480171d9027a31807e3f3478e3104c37b7a66a7 /horizon/middleware/operation_log.py
parentb3aebb92544054b4b39a2296460edfe593916b74 (diff)
downloadhorizon-ec970fd6e85b19126409ef39aefa013bac701503.tar.gz
Handle partial dict setting
In Train cycle, we moved the definition of default values to openstack_dashboard/defaults.py. The current code accesses a dict member using []. It requires operators to define a dict setting with a full member. This commit allows to use dict-type settings with partial members. A new function is introduced to retrieve a dict-type setting considering default values defined in {openstack_dashboard,horizon,openstack_auth}/defaults.py Change-Id: I7ff0ad4bca698aef9c0eba370b0570200a14367a Closes-Bug: #1843104
Diffstat (limited to 'horizon/middleware/operation_log.py')
-rw-r--r--horizon/middleware/operation_log.py19
1 files changed, 12 insertions, 7 deletions
diff --git a/horizon/middleware/operation_log.py b/horizon/middleware/operation_log.py
index 3fe6c8ede..6aa4455e9 100644
--- a/horizon/middleware/operation_log.py
+++ b/horizon/middleware/operation_log.py
@@ -22,6 +22,8 @@ from django.core.exceptions import MiddlewareNotUsed
import six.moves.urllib.parse as urlparse
+from horizon.utils import settings as setting_utils
+
LOG = logging.getLogger(__name__)
@@ -44,7 +46,7 @@ class OperationLogMiddleware(object):
- ``http status``
- ``request parameters``
- and log format is defined OPERATION_LOG_OPTIONS.
+ and log format is defined in OPERATION_LOG_OPTIONS.
"""
@property
@@ -59,15 +61,18 @@ class OperationLogMiddleware(object):
self.get_response = get_response
# set configurations
- _log_option = settings.OPERATION_LOG_OPTIONS
_available_methods = ['POST', 'GET', 'PUT', 'DELETE']
- _methods = _log_option["target_methods"]
+ _methods = setting_utils.get_dict_config(
+ 'OPERATION_LOG_OPTIONS', 'target_methods')
self.target_methods = [x for x in _methods if x in _available_methods]
- self.mask_fields = _log_option["mask_fields"]
- self.format = _log_option["format"]
+ self.mask_fields = setting_utils.get_dict_config(
+ 'OPERATION_LOG_OPTIONS', 'mask_fields')
+ self.format = setting_utils.get_dict_config(
+ 'OPERATION_LOG_OPTIONS', 'format')
self._logger = logging.getLogger('horizon.operation_log')
- self._ignored_urls = [re.compile(url)
- for url in _log_option["ignore_urls"]]
+ self._ignored_urls = [re.compile(url) for url
+ in setting_utils.get_dict_config(
+ 'OPERATION_LOG_OPTIONS', 'ignore_urls')]
def __call__(self, request):
response = self.get_response(request)