| 253 | _SUPPORTED_METHODS = {"GET", "HEAD", "POST", "PUT", "DELETE", "PATCH", "OPTIONS"} |
| 254 | |
| 255 | def __init__( |
| 256 | self, |
| 257 | client: Optional[SimpleAsyncHTTPClient], |
| 258 | request: HTTPRequest, |
| 259 | release_callback: Callable[[], None], |
| 260 | final_callback: Callable[[HTTPResponse], None], |
| 261 | max_buffer_size: int, |
| 262 | tcp_client: TCPClient, |
| 263 | max_header_size: int, |
| 264 | max_body_size: int, |
| 265 | ) -> None: |
| 266 | self.io_loop = IOLoop.current() |
| 267 | self.start_time = self.io_loop.time() |
| 268 | self.start_wall_time = time.time() |
| 269 | self.client = client |
| 270 | self.request = request |
| 271 | self.release_callback = release_callback |
| 272 | self.final_callback = final_callback |
| 273 | self.max_buffer_size = max_buffer_size |
| 274 | self.tcp_client = tcp_client |
| 275 | self.max_header_size = max_header_size |
| 276 | self.max_body_size = max_body_size |
| 277 | self.code = None # type: Optional[int] |
| 278 | self.headers = None # type: Optional[httputil.HTTPHeaders] |
| 279 | self.chunks = [] # type: List[bytes] |
| 280 | self._decompressor = None |
| 281 | # Timeout handle returned by IOLoop.add_timeout |
| 282 | self._timeout = None # type: object |
| 283 | self._sockaddr = None |
| 284 | IOLoop.current().add_future( |
| 285 | gen.convert_yielded(self.run()), lambda f: f.result() |
| 286 | ) |
| 287 | |
| 288 | async def run(self) -> None: |
| 289 | try: |