(
self,
headers: httputil.HTTPHeaders,
header_callback: Callable[[str], None],
header_line_bytes: bytes,
)
| 520 | request.prepare_curl_callback(curl) |
| 521 | |
| 522 | def _curl_header_callback( |
| 523 | self, |
| 524 | headers: httputil.HTTPHeaders, |
| 525 | header_callback: Callable[[str], None], |
| 526 | header_line_bytes: bytes, |
| 527 | ) -> None: |
| 528 | header_line = native_str(header_line_bytes.decode("latin1")) |
| 529 | if header_callback is not None: |
| 530 | self.io_loop.add_callback(header_callback, header_line) |
| 531 | # header_line as returned by curl includes the end-of-line characters. |
| 532 | # whitespace at the start should be preserved to allow multi-line headers |
| 533 | header_line = header_line.rstrip() |
| 534 | if header_line.startswith("HTTP/"): |
| 535 | headers.clear() |
| 536 | try: |
| 537 | (_version, _code, reason) = httputil.parse_response_start_line( |
| 538 | header_line |
| 539 | ) |
| 540 | header_line = "X-Http-Reason: %s" % reason |
| 541 | except httputil.HTTPInputError: |
| 542 | return |
| 543 | if not header_line: |
| 544 | return |
| 545 | headers.parse_line(header_line) |
| 546 | |
| 547 | def _curl_debug(self, debug_type: int, debug_msg: str) -> None: |
| 548 | debug_types = ("I", "<", ">", "<", ">") |
nothing calls this directly
no test coverage detected