MCPcopy
hub / github.com/tornadoweb/tornado / _curl_header_callback

Method _curl_header_callback

tornado/curl_httpclient.py:522–545  ·  view source on GitHub ↗
(
        self,
        headers: httputil.HTTPHeaders,
        header_callback: Callable[[str], None],
        header_line_bytes: bytes,
    )

Source from the content-addressed store, hash-verified

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", "<", ">", "<", ">")

Callers

nothing calls this directly

Calls 3

parse_lineMethod · 0.80
add_callbackMethod · 0.45
clearMethod · 0.45

Tested by

no test coverage detected