##// END OF EJS Templates
Handle kernel messages synchronously...
Handle kernel messages synchronously A problem can happen when two messages come in for different comms, where the second depends on the first (for example, the first might be a message setting the state of a widget, and the second triggering a view creation for the widget). Since comm message queues are independent of each other, the second message could be executed before the first message. This exposes a more fundamental assumption users are likely to have that messages from python are processed synchronously. Thanks to @dmadeka for reporting an error that led to discovering this issue.

File last commit:

r19156:d3e620f5
r20621:f936f880
Show More
handlers.py
23 lines | 715 B | text/x-python | PythonLexer
"""Tornado handlers for security logging."""
# Copyright (c) IPython Development Team.
# Distributed under the terms of the Modified BSD License.
from tornado import gen, web
from ...base.handlers import IPythonHandler, json_errors
from . import csp_report_uri
class CSPReportHandler(IPythonHandler):
'''Accepts a content security policy violation report'''
@web.authenticated
@json_errors
def post(self):
'''Log a content security policy violation report'''
csp_report = self.get_json_body()
self.log.warn("Content security violation: %s",
self.request.body.decode('utf8', 'replace'))
default_handlers = [
(csp_report_uri, CSPReportHandler)
]