##// END OF EJS Templates
DEV: More checkpoint API refactoring....
DEV: More checkpoint API refactoring. Changed the public checkpoint API to: - `create_checkpoint(self, nb, path)` - `get_checkpoint_content(self, checkpoint_id, path)` - `rename_checkpoint(self, checkpoint_id, old_path, new_path)` - `delete_checkpoint(self, checkpoint_id, path)` - `list_checkpoints(self, path)` All paths in the above are API-style paths, and the `nb` argument to `create_checkpoint` is a dictionary suitable for passing to `nbformat.write`. The new `get_checkpoint_content` method returns an unvalidated notebook content dictionary. It is used by `ContentManager.restore_checkpoint` to load content to be written via `save`.

File last commit:

r19156:d3e620f5
r19747:4b186626
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)
]