tornado: Make _request an attribute on AsyncDjangoHandler.

For the same reason as `handler_id` has, we define `_request`
as an attribute. Note that the name `request` is already taken.

Signed-off-by: Zixuan James Li <p359101898@gmail.com>
This commit is contained in:
Zixuan James Li 2022-06-23 17:49:32 -04:00 committed by Tim Abbott
parent 56e1f3b725
commit a9029c68ea
2 changed files with 5 additions and 1 deletions

View File

@ -182,6 +182,7 @@ class ClientDescriptor:
def add_event(self, event: Mapping[str, Any]) -> None:
if self.current_handler_id is not None:
handler = get_handler_by_id(self.current_handler_id)
assert handler._request is not None
async_request_timer_restart(handler._request)
self.event_queue.push(event)

View File

@ -1,6 +1,6 @@
import logging
import urllib
from typing import Any, Dict, List
from typing import Any, Dict, List, Optional
import tornado.web
from asgiref.sync import sync_to_async
@ -54,6 +54,7 @@ def finish_handler(
# get_events request has supplanted this request)
handler = get_handler_by_id(handler_id)
request = handler._request
assert request is not None
async_request_timer_restart(request)
log_data = RequestNotes.get_notes(request).log_data
assert log_data is not None
@ -92,6 +93,8 @@ class AsyncDjangoHandler(tornado.web.RequestHandler, base.BaseHandler):
# be cleared when the handler finishes its response
self.handler_id = allocate_handler_id(self)
self._request: Optional[HttpRequest] = None
def __repr__(self) -> str:
descriptor = get_descriptor_by_handler_id(self.handler_id)
return f"AsyncDjangoHandler<{self.handler_id}, {descriptor}>"