diff --git a/src/flask_track_usage/__init__.py b/src/flask_track_usage/__init__.py index fc8d14f..d1e547e 100644 --- a/src/flask_track_usage/__init__.py +++ b/src/flask_track_usage/__init__.py @@ -40,7 +40,9 @@ import six -from flask import _request_ctx_stack, g +# from flask import _request_ctx_stack, g # _request_ctx_stack is removed since flask-3.0.0 +from flask import g +from flask.globals import request_ctx try: from flask_login import current_user except Exception: @@ -109,7 +111,8 @@ def before_request(self): """ Done before every request that is in scope. """ - ctx = _request_ctx_stack.top + # ctx = _request_ctx_stack.top + ctx = request_ctx view_func = self.app.view_functions.get(ctx.request.endpoint) if self._type == 'exclude': if view_func in self._exclude_views: @@ -132,7 +135,8 @@ def after_request(self, response): :Parameters: - `response`: The response on it's way to the client. """ - ctx = _request_ctx_stack.top + # ctx = _request_ctx_stack.top + ctx = request_ctx view_func = self.app.view_functions.get(ctx.request.endpoint) if self._type == 'exclude': if view_func in self._exclude_views: diff --git a/src/flask_track_usage/summarization/mongoenginestorage.py b/src/flask_track_usage/summarization/mongoenginestorage.py index 516950e..c0f686d 100644 --- a/src/flask_track_usage/summarization/mongoenginestorage.py +++ b/src/flask_track_usage/summarization/mongoenginestorage.py @@ -42,8 +42,9 @@ def increment(class_dict, src, dest, target_list): if dest: doc[dest] = value doc.hits += 1 - doc.transfer += src.content_length - doc.save() + if src.content_length: + doc.transfer += src.content_length + doc.save() def generic_get_sum(