mirror of
https://github.com/zulip/zulip.git
synced 2025-11-06 15:03:34 +00:00
Annotate zerver.exceptions, zerver.filters, zerver.logging_handlers.
This commit is contained in:
@@ -4,4 +4,5 @@ from django.core.exceptions import PermissionDenied
|
|||||||
|
|
||||||
class RateLimited(PermissionDenied):
|
class RateLimited(PermissionDenied):
|
||||||
def __init__(self, msg=""):
|
def __init__(self, msg=""):
|
||||||
|
# type: (str) -> None
|
||||||
super(RateLimited, self).__init__(msg)
|
super(RateLimited, self).__init__(msg)
|
||||||
|
|||||||
@@ -1,10 +1,13 @@
|
|||||||
from __future__ import absolute_import
|
from __future__ import absolute_import
|
||||||
|
|
||||||
|
from typing import Any
|
||||||
|
|
||||||
from django.views.debug import SafeExceptionReporterFilter
|
from django.views.debug import SafeExceptionReporterFilter
|
||||||
from django.http import build_request_repr
|
from django.http import HttpRequest, build_request_repr
|
||||||
|
|
||||||
class ZulipExceptionReporterFilter(SafeExceptionReporterFilter):
|
class ZulipExceptionReporterFilter(SafeExceptionReporterFilter):
|
||||||
def get_post_parameters(self, request):
|
def get_post_parameters(self, request):
|
||||||
|
# type: (HttpRequest) -> Dict[str, Any]
|
||||||
filtered_post = SafeExceptionReporterFilter.get_post_parameters(self, request).copy()
|
filtered_post = SafeExceptionReporterFilter.get_post_parameters(self, request).copy()
|
||||||
filtered_vars = ['content', 'secret', 'password', 'key', 'api-key', 'subject', 'stream',
|
filtered_vars = ['content', 'secret', 'password', 'key', 'api-key', 'subject', 'stream',
|
||||||
'subscriptions', 'to', 'csrfmiddlewaretoken', 'api_key']
|
'subscriptions', 'to', 'csrfmiddlewaretoken', 'api_key']
|
||||||
@@ -14,6 +17,7 @@ class ZulipExceptionReporterFilter(SafeExceptionReporterFilter):
|
|||||||
filtered_post[var] = '**********'
|
filtered_post[var] = '**********'
|
||||||
return filtered_post
|
return filtered_post
|
||||||
def get_request_repr(self, request):
|
def get_request_repr(self, request):
|
||||||
|
# type: (HttpRequest) -> str
|
||||||
if request is None:
|
if request is None:
|
||||||
return repr(None)
|
return repr(None)
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import traceback
|
|||||||
import platform
|
import platform
|
||||||
|
|
||||||
from django.core import mail
|
from django.core import mail
|
||||||
|
from django.http import HttpRequest
|
||||||
from django.utils.log import AdminEmailHandler
|
from django.utils.log import AdminEmailHandler
|
||||||
from django.views.debug import ExceptionReporter, get_exception_reporter_filter
|
from django.views.debug import ExceptionReporter, get_exception_reporter_filter
|
||||||
|
|
||||||
@@ -20,11 +21,13 @@ class AdminZulipHandler(logging.Handler):
|
|||||||
# adapted in part from django/utils/log.py
|
# adapted in part from django/utils/log.py
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
# type: () -> None
|
||||||
logging.Handler.__init__(self)
|
logging.Handler.__init__(self)
|
||||||
|
|
||||||
def emit(self, record):
|
def emit(self, record):
|
||||||
|
# type: (ExceptionReporter) -> None
|
||||||
try:
|
try:
|
||||||
request = record.request
|
request = record.request # type: HttpRequest
|
||||||
|
|
||||||
filter = get_exception_reporter_filter(request)
|
filter = get_exception_reporter_filter(request)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user