本文整理汇总了Python中tornado.web.RequestHandler类的典型用法代码示例。如果您正苦于以下问题:Python RequestHandler类的具体用法?Python RequestHandler怎么用?Python RequestHandler使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了RequestHandler类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: write_error
def write_error(self, *args, **kwargs):
'''
Must override base write error to stop uncaught
HTTP errors from clearing CORS headers
'''
self.write_cors_headers()
RequestHandler.write_error(self, *args, **kwargs)
示例2: check_xsrf_cookie
def check_xsrf_cookie(self):
if self.application.testing_key \
and self.request.headers.get('X-Testing-Key') \
== self.application.testing_key:
return
RequestHandler.check_xsrf_cookie(self)
示例3: finish
def finish(self, chunk=None):
'''
重写服务的finish, 并存储返回值
'''
RequestHandler.finish(self, chunk=chunk)
self.return_value = chunk
示例4: render
def render(self, template_name, **kwargs):
params = dict()
for key, val in self.request.arguments.items():
params[key] = ','.join(val) if isinstance(val, list) else val
kwargs["params"] = params
kwargs["json_dict"] = json_to_dict
RequestHandler.render(self, template_name, **kwargs)
示例5: write_error
def write_error(self, status_code, **kwargs):
try:
error_env = Environment(loader = FileSystemLoader(self.__project_path + '/public'))
temp = error_env.get_template(str(status_code) + '.html')
self.write(temp.render())
except TemplateNotFound:
RequestHandler.write_error(self, status_code, **kwargs)
示例6: __init__
def __init__(self, application, request):
RequestHandler.__init__(self, application, request)
self._current_user = None
self.middleware_manager = MiddlewareManager(self)
self._is_threaded = False
self._is_whirlwind_finished = False
self.view = {}
示例7: write
def write(self, payload, passthru=False):
if passthru:
return RequestHandler.write(self, payload)
self.set_header('Content-Type', 'application/json; charset=UTF-8')
RequestHandler.write(self, json.dumps(payload, indent=options.debug and 2 or None,
default=_ToJSONMixin.json_default))
示例8: _handle_request_exception
def _handle_request_exception(self, exc):
options = {
"user": {"id": self.request.remote_ip},
"context": self._get_context(),
"request": {
"url": self.request.full_url(),
"method": self.request.method,
"arguments": self.request.arguments,
},
"severity_reason": {
"type": "unhandledExceptionMiddleware",
"attributes": {
"framework": "Tornado"
}
}
}
# Notify bugsnag, unless it's an HTTPError that we specifically want
# to ignore
should_notify_bugsnag = True
if type(exc) == HTTPError:
ignore_status_codes = self.bugsnag_ignore_status_codes()
if ignore_status_codes and exc.status_code in ignore_status_codes:
should_notify_bugsnag = False
if should_notify_bugsnag:
bugsnag.auto_notify(exc, **options)
# Call the parent handler
RequestHandler._handle_request_exception(self, exc)
示例9: write_error
def write_error(self, status_code, **kwargs):
if status_code == 404:
self.render('404.html')
elif status_code >= 500 and status_code < 600:
self.render('500.html')
else:
RequestHandler.write_error(self, status_code, **kwargs)
示例10: initialize
def initialize(self, html_template=None, js_template=None, cors_origins=None):
RequestHandler.initialize(self)
self.set_cors_methods("OPTIONS,GET,POST")
if cors_origins:
self.set_cors_whitelist(cors_origins)
self._html_template = html_template
self._js_template = js_template
示例11: prepare
def prepare(self):
"""
Prepare the request
"""
RequestHandler.prepare(self)
self.model.session.expunge_all() # Always start a request fresh.
self._call_preprocessor()
示例12: test_on_request
def test_on_request(self):
app = Application()
request = HTTPRequest('POST', '/collector?hello=world', body=b"foo=bar&bar=foo", headers={'Content-Type': 'application/x-www-form-urlencoded'}, connection=get_dummy_connection())
handler = RequestHandler(app, request)
handler.run = Run()
self.collector.on_request(handler, handler.run)
self.assertEquals({
'body_arguments': {},
'cookies': '',
'headers': {'Content-Type': 'application/x-www-form-urlencoded'},
'host': '127.0.0.1',
'method': 'POST',
'path': '/collector',
'protocol': 'http',
'query': 'hello=world',
'body': 'foo=bar&bar=foo',
'query_arguments': {'hello': ['world']},
'remote_ip': '127.0.0.1',
'uri': '/collector?hello=world',
'version': 'HTTP/1.0',
'controller': {'class': False, 'file': False, 'line': False, 'method': False},
'route': False,
'status_code': False,
}, handler.run.get_metric('request'))
示例13: write
def write(self, chunk):
if isinstance(chunk, dict) and self.settings.get('debug'):
RequestHandler.write(self, json.dumps(chunk, indent=4))
else:
RequestHandler.write(self, chunk)
if isinstance(chunk, dict):
self.set_header('Content-Type', self._ct('json'))
示例14: _execute
def _execute(self, transforms, *args, **kwargs):
''' select base handler for self '''
with LogicContext():
if isinstance(self, WebSocketHandler):
WebSocketHandler._execute(self, transforms, *args, **kwargs)
elif isinstance(self, RequestHandler):
RequestHandler._execute(self, transforms, *args, **kwargs)
示例15: set_user_cookie
def set_user_cookie(app, request, username):
from tornado.web import RequestHandler
r = RequestHandler(app, request)
r.set_secure_cookie('user', username)
authcookie = r._new_cookies[0]
cookiestring = authcookie.items()[0][1]
request.cookies.update({'user': cookiestring})
return request