MCPcopy Create free account
hub / github.com/EasyIME/PIME / _HandlerDelegate

Class _HandlerDelegate

python/python3/tornado/web.py:2279–2365  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2277
2278
2279class _HandlerDelegate(httputil.HTTPMessageDelegate):
2280 def __init__(
2281 self,
2282 application: Application,
2283 request: httputil.HTTPServerRequest,
2284 handler_class: Type[RequestHandler],
2285 handler_kwargs: Optional[Dict[str, Any]],
2286 path_args: Optional[List[bytes]],
2287 path_kwargs: Optional[Dict[str, bytes]],
2288 ) -> None:
2289 self.application = application
2290 self.connection = request.connection
2291 self.request = request
2292 self.handler_class = handler_class
2293 self.handler_kwargs = handler_kwargs or {}
2294 self.path_args = path_args or []
2295 self.path_kwargs = path_kwargs or {}
2296 self.chunks = [] # type: List[bytes]
2297 self.stream_request_body = _has_stream_request_body(self.handler_class)
2298
2299 def headers_received(
2300 self,
2301 start_line: Union[httputil.RequestStartLine, httputil.ResponseStartLine],
2302 headers: httputil.HTTPHeaders,
2303 ) -> Optional[Awaitable[None]]:
2304 if self.stream_request_body:
2305 self.request._body_future = Future()
2306 return self.execute()
2307 return None
2308
2309 def data_received(self, data: bytes) -> Optional[Awaitable[None]]:
2310 if self.stream_request_body:
2311 return self.handler.data_received(data)
2312 else:
2313 self.chunks.append(data)
2314 return None
2315
2316 def finish(self) -> None:
2317 if self.stream_request_body:
2318 future_set_result_unless_cancelled(self.request._body_future, None)
2319 else:
2320 self.request.body = b"".join(self.chunks)
2321 self.request._parse_body()
2322 self.execute()
2323
2324 def on_connection_close(self) -> None:
2325 if self.stream_request_body:
2326 self.handler.on_connection_close()
2327 else:
2328 self.chunks = None # type: ignore
2329
2330 def execute(self) -> Optional[Awaitable[None]]:
2331 # If template cache is disabled (usually in the debug mode),
2332 # re-compile templates and reload static files on every
2333 # request so you don't need to restart to see changes
2334 if not self.application.settings.get("compiled_template_cache", True):
2335 with RequestHandler._template_loader_lock:
2336 for loader in RequestHandler._template_loaders.values():

Callers 1

get_handler_delegateMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected