human
Solve the following python programming problem given the following code:
@ handle_redirects 
def _do_request(self, method, url, body, headers) : 
    '
        Connects to the server and issues a request.  Handles converting
        any returned HTTP error status codes to OpenStack/heat exceptions
        and closing the server connection. Returns the result data, or
        raises an appropriate exception.

        :param method: HTTP method ("GET", "POST", "PUT", etc...)
        :param url: urlparse.ParsedResult object with URL information
        :param body: data to send (as string, filelike or iterable),
                     or None (default)
        :param headers: mapping of key/value pairs to add as headers

        :note

        If the body param has a read attribute, and method is either
        POST or PUT, this method will automatically conduct a chunked-transfer
        encoding and use the body as a file object or iterable, transferring
        chunks of data using the connection\'s send() method. This allows large
        objects to be transferred efficiently without buffering the entire
        body in memory.
        ' 
    if url.query : 
        path = ((url.path + '?') + url.query) 
else : 
        path = url.path 
try : 
        connection_type = self.get_connection_type () 
        headers = (headers or { 
            
}) 
        if (('x-auth-token' not in headers) and self.auth_tok) : 
            headers ['x-auth-token'] = self.auth_tok 
c = connection_type (url.hostname, url.port, ** self.connect_kwargs) 
        def _pushing(method) : 
            return (method.lower () in ('post', 'put')) 
def _simple(body) : 
            return ((body is None) or isinstance (body, basestring)) 
def _filelike(body) : 
            return hasattr (body, 'read') 
def _sendbody(connection, iter) : 
            connection.endheaders () 
            for sent in iter : 
                pass 
def _chunkbody(connection, iter) : 
            connection.putheader ('Transfer-Encoding', 'chunked') 
            connection.endheaders () 
            for chunk in iter : 
           ...

    
    

    Fix the buggy line: c.request (method, path, body, _sendbody)
assistant
#Here is Python program to fix the buggy line: c.

c.request (method, path, body, headers)