docs: def send(self, request, headers=None, content=None, **kwargs):
          """Prepare and send request object according to configuration.
  
          :param ClientRequest request: The request object to be sent.
          :param dict headers: Any headers to add to the request.
          :param content: Any body data to add to the request.
          :param config: Any specific config overrides
          """
          # "content" and "headers" are deprecated, only old SDK
          if headers:
              request.headers.update(headers)
          if not request.files and request.data is None and content is not None:
              request.add_content(content)
          # End of deprecation
  
          response = None
          kwargs.setdefault('stream', True)
          try:
              pipeline_response = self.config.pipeline.run(request, **kwargs)
              # There is too much thing that expects this method to return a "requests.Response"
              # to break it in a compatible release.
              # Also, to be pragmatic in the "sync" world "requests" rules anyway.
              # However, attach the Universal HTTP response
              # to get the streaming generator.
              response = pipeline_response.http_response.internal_response
              response._universal_http_response = pipeline_response.http_response
              response.context = pipeline_response.context
              return response
          finally:
              self._close_local_session_if_necessary(response, kwargs['stream'])