コード例 #1
0
ファイル: test_logging_handlers.py プロジェクト: xaoei/zulip
 def test_clean_data_from_query_parameters(self) -> None:
     from zerver.filters import clean_data_from_query_parameters
     self.assertEqual(
         clean_data_from_query_parameters("api_key=abcdz&stream=1"),
         "api_key=******&stream=******")
     self.assertEqual(
         clean_data_from_query_parameters(
             "api_key=abcdz&stream=foo&topic=bar"),
         "api_key=******&stream=******&topic=******")
コード例 #2
0
ファイル: error_notify.py プロジェクト: priyank-p/zulip
def email_server_error(report: Dict[str, Any]) -> None:
    email_subject = "{node}: {message}".format(**report)

    logger_str = logger_repr(report)
    user_info = user_info_str(report)
    deployment = deployment_repr(report)

    if report["has_request"]:
        request_repr = """\
Request info:
- path: {path}
- {method}: {data}
""".format(
            **report
        )
        for field in ["REMOTE_ADDR", "QUERY_STRING", "SERVER_NAME"]:
            val = report.get(field.lower())
            if field == "QUERY_STRING":
                val = clean_data_from_query_parameters(str(val))
            request_repr += f'- {field}: "{val}"\n'
    else:
        request_repr = "Request info: none\n"

    message = f"""\
{logger_str}
Error generated by {user_info}

{report['stack_trace']}

{deployment}

{request_repr}"""

    mail_admins(format_email_subject(email_subject), message, fail_silently=True)
コード例 #3
0
ファイル: error_notify.py プロジェクト: rightauth/zulip-1
def email_server_error(report: Dict[str, Any]) -> None:
    email_subject = '%(node)s: %(message)s' % dict(report)

    logger_str = logger_repr(report)
    user_info = user_info_str(report)
    deployment = deployment_repr(report)

    if report['has_request']:
        request_repr = ("Request info:\n"
                        "- path: %(path)s\n"
                        "- %(method)s: %(data)s\n") % dict(report)
        for field in ["REMOTE_ADDR", "QUERY_STRING", "SERVER_NAME"]:
            val = report.get(field.lower())
            if field == "QUERY_STRING":
                val = clean_data_from_query_parameters(str(val))
            request_repr += "- %s: \"%s\"\n" % (field, val)
    else:
        request_repr = "Request info: none\n"

    message = ("%s\nError generated by %s\n\n%s\n\n%s\n\n%s" %
               (logger_str, user_info, report['stack_trace'], deployment,
                request_repr))

    mail_admins(format_email_subject(email_subject),
                message,
                fail_silently=True)
コード例 #4
0
ファイル: error_notify.py プロジェクト: rightauth/zulip-1
def zulip_server_error(report: Dict[str, Any]) -> None:
    email_subject = '%(node)s: %(message)s' % dict(report)

    logger_str = logger_repr(report)
    user_info = user_info_str(report)
    deployment = deployment_repr(report)

    if report['has_request']:
        request_repr = ("Request info:\n~~~~\n"
                        "- path: %(path)s\n"
                        "- %(method)s: %(data)s\n") % dict(report)
        for field in ["REMOTE_ADDR", "QUERY_STRING", "SERVER_NAME"]:
            val = report.get(field.lower())
            if field == "QUERY_STRING":
                val = clean_data_from_query_parameters(str(val))
            request_repr += "- %s: \"%s\"\n" % (field, val)
        request_repr += "~~~~"
    else:
        request_repr = "Request info: none"

    message = ("%s\nError generated by %s\n\n~~~~ pytb\n%s\n\n~~~~\n%s\n%s" %
               (logger_str, user_info, report['stack_trace'], deployment,
                request_repr))

    error_bot = get_system_bot(settings.ERROR_BOT)
    realm = error_bot.realm
    errors_stream = get_stream('errors', realm)

    internal_send_stream_message(realm, error_bot, errors_stream,
                                 format_email_subject(email_subject), message)
コード例 #5
0
ファイル: error_notify.py プロジェクト: BakerWang/zulip
def zulip_server_error(report: Dict[str, Any]) -> None:
    email_subject = '%(node)s: %(message)s' % (report)

    logger_str = logger_repr(report)
    user_info = user_info_str(report)
    deployment = deployment_repr(report)

    if report['has_request']:
        request_repr = (
            "Request info:\n~~~~\n"
            "- path: %(path)s\n"
            "- %(method)s: %(data)s\n") % (report)
        for field in ["REMOTE_ADDR", "QUERY_STRING", "SERVER_NAME"]:
            val = report.get(field.lower())
            if field == "QUERY_STRING":
                val = clean_data_from_query_parameters(str(val))
            request_repr += "- %s: \"%s\"\n" % (field, val)
        request_repr += "~~~~"
    else:
        request_repr = "Request info: none"

    message = ("%s\nError generated by %s\n\n~~~~ pytb\n%s\n\n~~~~\n%s\n%s"
               % (logger_str, user_info, report['stack_trace'], deployment, request_repr))

    realm = get_system_bot(settings.ERROR_BOT).realm
    internal_send_message(realm, settings.ERROR_BOT, "stream", "errors",
                          format_email_subject(email_subject), message)
コード例 #6
0
ファイル: error_notify.py プロジェクト: priyank-p/zulip
def zulip_server_error(report: Dict[str, Any]) -> None:
    email_subject = "{node}: {message}".format(**report)

    logger_str = logger_repr(report)
    user_info = user_info_str(report)
    deployment = deployment_repr(report)

    if report["has_request"]:
        request_repr = """\
Request info:
~~~~
- path: {path}
- {method}: {data}
""".format(
            **report
        )
        for field in ["REMOTE_ADDR", "QUERY_STRING", "SERVER_NAME"]:
            val = report.get(field.lower())
            if field == "QUERY_STRING":
                val = clean_data_from_query_parameters(str(val))
            request_repr += f'- {field}: "{val}"\n'
        request_repr += "~~~~"
    else:
        request_repr = "Request info: none"

    message = f"""{logger_str}
Error generated by {user_info}

~~~~ pytb
{report['stack_trace']}

~~~~
{deployment}
{request_repr}"""

    error_bot_realm = get_realm(settings.STAFF_SUBDOMAIN)
    error_bot = get_system_bot(settings.ERROR_BOT, error_bot_realm.id)
    errors_stream = get_stream("errors", error_bot_realm)

    internal_send_stream_message(
        error_bot,
        errors_stream,
        format_email_subject(email_subject),
        message,
    )
コード例 #7
0
ファイル: error_notify.py プロジェクト: BakerWang/zulip
def email_server_error(report: Dict[str, Any]) -> None:
    email_subject = '%(node)s: %(message)s' % (report)

    logger_str = logger_repr(report)
    user_info = user_info_str(report)
    deployment = deployment_repr(report)

    if report['has_request']:
        request_repr = (
            "Request info:\n"
            "- path: %(path)s\n"
            "- %(method)s: %(data)s\n") % (report)
        for field in ["REMOTE_ADDR", "QUERY_STRING", "SERVER_NAME"]:
            val = report.get(field.lower())
            if field == "QUERY_STRING":
                val = clean_data_from_query_parameters(str(val))
            request_repr += "- %s: \"%s\"\n" % (field, val)
    else:
        request_repr = "Request info: none\n"

    message = ("%s\nError generated by %s\n\n%s\n\n%s\n\n%s"
               % (logger_str, user_info, report['stack_trace'], deployment, request_repr))

    mail_admins(format_email_subject(email_subject), message, fail_silently=True)
コード例 #8
0
 def test_clean_data_from_query_parameters(self) -> None:
     from zerver.filters import clean_data_from_query_parameters
     self.assertEqual(clean_data_from_query_parameters("api_key=abcdz&stream=1"),
                      "api_key=******&stream=******")
     self.assertEqual(clean_data_from_query_parameters("api_key=abcdz&stream=foo&topic=bar"),
                      "api_key=******&stream=******&topic=******")