code: def _write_body(self, start_read):
      if self.request.body is not None:
          self.connection.write(self.request.body)
      elif self.request.body_producer is not None:
          fut = self.request.body_producer(self.connection.write)
          if fut is not None:
              fut = gen.convert_yielded(fut)
  
              def on_body_written(fut):
                  fut.result()
                  self.connection.finish()
                  if start_read:
                      self._read_response()
  
              self.io_loop.add_future(fut, on_body_written)
              return
      self.connection.finish()
      if start_read:
          self._read_response()
  
imports: from __future__ import absolute_import, division, print_function
  from tornado.escape import utf8, _unicode
  from tornado import gen
  from tornado.httpclient import HTTPResponse, HTTPError, AsyncHTTPClient, main, _RequestProxy
  from tornado import httputil
  from tornado.http1connection import HTTP1Connection, HTTP1ConnectionParameters
  from tornado.iostream import StreamClosedError
  from tornado.netutil import Resolver, OverrideResolver, _client_ssl_defaults
  from tornado.log import gen_log
  from tornado import stack_context
  from tornado.tcpclient import TCPClient
  from tornado.util import PY3
  import base64
  import collections
  import copy
  import functools
  import re
  import socket
  import sys
  from io import BytesIO
label_desc: Use image node_id 7 for calling the _HTTPConnection obj's underlying member method code with example usage: obj._write_body(start_read) without return types