parameters: (self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None)
return_statement: return self.build_response(request, resp)
docstring: Sends PreparedRequest object. Returns Response object.
  
          :param request: The :class:`PreparedRequest <PreparedRequest>` being sent.
          :param stream: (optional) Whether to stream the request content.
          :param timeout: (optional) How long to wait for the server to send
              data before giving up, as a float, or a :ref:`(connect timeout,
              read timeout) <timeouts>` tuple.
          :type timeout: float or tuple or urllib3 Timeout object
          :param verify: (optional) Either a boolean, in which case it controls whether
              we verify the server's TLS certificate, or a string, in which case it
              must be a path to a CA bundle to use
          :param cert: (optional) Any user-provided SSL certificate to be trusted.
          :param proxies: (optional) The proxies dictionary to apply to the request.
          :rtype: requests.Response
docstring_summary: Sends PreparedRequest object. Returns Response object.
docstring_tokens: Sends PreparedRequest object . Returns Response object .
function: def send(self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None):
          """Sends PreparedRequest object. Returns Response object.
  
          :param request: The :class:`PreparedRequest <PreparedRequest>` being sent.
          :param stream: (optional) Whether to stream the request content.
          :param timeout: (optional) How long to wait for the server to send
              data before giving up, as a float, or a :ref:`(connect timeout,
              read timeout) <timeouts>` tuple.
          :type timeout: float or tuple or urllib3 Timeout object
          :param verify: (optional) Either a boolean, in which case it controls whether
              we verify the server's TLS certificate, or a string, in which case it
              must be a path to a CA bundle to use
          :param cert: (optional) Any user-provided SSL certificate to be trusted.
          :param proxies: (optional) The proxies dictionary to apply to the request.
          :rtype: requests.Response
          """
  
          try:
              conn = self.get_connection(request.url, proxies)
          except LocationValueError as e:
              raise InvalidURL(e, request=request)
  
          self.cert_verify(conn, request.url, verify, cert)
          url = self.request_url(request, proxies)
          self.add_headers(request, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies)
  
          chunked = not (request.body is None or 'Content-Length' in request.headers)
  
          if isinstance(timeout, tuple):
              try:
                  connect, read = timeout
                  timeout = TimeoutSauce(connect=connect, read=read)
              except ValueError as e:
                  # this may raise a string formatting error.
                  err = ("Invalid timeout {}. Pass a (connect, read) "
                         "timeout tuple, or a single float to set "
                         "both timeouts to the same value".format(timeout))
                  raise ValueError(err)
          elif isinstance(timeout, TimeoutSauce):
              pass
          else:
              timeout = TimeoutSauce(connect=timeout, read=timeout)
  
          try:
              if not chunked:
                  resp = conn.urlopen(
                      method=request.method,
                      url=url,
                      body=request.body,
                      headers=request.headers,
                      redirect=False,
                      assert_same_host=False,
                      preload_content=False,
                      decode_content=False,
                      retries=self.max_retries,
                      timeout=timeout
                  )
  
              # Send the request.
              else:
                  if hasattr(conn, 'proxy_pool'):
                      conn = conn.proxy_pool
  
                  low_conn = conn._get_conn(timeout=DEFAULT_POOL_TIMEOUT)
  
                  try:
                      low_conn.putrequest(request.method,
                                          url,
                                          skip_accept_encoding=True)
  
                      for header, value in request.headers.items():
                          low_conn.putheader(header, value)
  
                      low_conn.endheaders()
  
                      for i in request.body:
                          low_conn.send(hex(len(i))[2:].encode('utf-8'))
                          low_conn.send(b'\r\n')
                          low_conn.send(i)
                          low_conn.send(b'\r\n')
                      low_conn.send(b'0\r\n\r\n')
  
                      # Receive the response from the server
                      try:
                          # For Python 2.7, use buffering of HTTP responses
                          r = low_conn.getresponse(buffering=True)
                      except TypeError:
                          # For compatibility with Python 3.3+
                          r = low_conn.getresponse()
  
                      resp = HTTPResponse.from_httplib(
                          r,
                          pool=conn,
                          connection=low_conn,
                          preload_content=False,
                          decode_content=False
                      )
                  except:
                      # If we hit any problems here, clean up the connection.
                      # Then, reraise so that we can handle the actual exception.
                      low_conn.close()
                      raise
  
          except (ProtocolError, socket.error) as err:
              raise ConnectionError(err, request=request)
  
          except MaxRetryError as e:
              if isinstance(e.reason, ConnectTimeoutError):
                  # TODO: Remove this in 3.0.0: see #2811
                  if not isinstance(e.reason, NewConnectionError):
                      raise ConnectTimeout(e, request=request)
  
              if isinstance(e.reason, ResponseError):
                  raise RetryError(e, request=request)
  
              if isinstance(e.reason, _ProxyError):
                  raise ProxyError(e, request=request)
  
              if isinstance(e.reason, _SSLError):
                  # This branch is for urllib3 v1.22 and later.
                  raise SSLError(e, request=request)
  
              raise ConnectionError(e, request=request)
  
          except ClosedPoolError as e:
              raise ConnectionError(e, request=request)
  
          except _ProxyError as e:
              raise ProxyError(e)
  
          except (_SSLError, _HTTPError) as e:
              if isinstance(e, _SSLError):
                  # This branch is for urllib3 versions earlier than v1.22
                  raise SSLError(e, request=request)
              elif isinstance(e, ReadTimeoutError):
                  raise ReadTimeout(e, request=request)
              else:
                  raise
  
          return self.build_response(request, resp)
function_tokens: def send ( self , request , stream = False , timeout = None , verify = True , cert = None , proxies = None ) : try : conn = self . get_connection ( request . url , proxies ) except LocationValueError as e : raise InvalidURL ( e , request = request ) self . cert_verify ( conn , request . url , verify , cert ) url = self . request_url ( request , proxies ) self . add_headers ( request , stream = stream , timeout = timeout , verify = verify , cert = cert , proxies = proxies ) chunked = not ( request . body is None or 'Content-Length' in request . headers ) if isinstance ( timeout , tuple ) : try : connect , read = timeout timeout = TimeoutSauce ( connect = connect , read = read ) except ValueError as e : # this may raise a string formatting error. err = ( "Invalid timeout {}. Pass a (connect, read) " "timeout tuple, or a single float to set " "both timeouts to the same value" . format ( timeout ) ) raise ValueError ( err ) elif isinstance ( timeout , TimeoutSauce ) : pass else : timeout = TimeoutSauce ( connect = timeout , read = timeout ) try : if not chunked : resp = conn . urlopen ( method = request . method , url = url , body = request . body , headers = request . headers , redirect = False , assert_same_host = False , preload_content = False , decode_content = False , retries = self . max_retries , timeout = timeout ) # Send the request. else : if hasattr ( conn , 'proxy_pool' ) : conn = conn . proxy_pool low_conn = conn . _get_conn ( timeout = DEFAULT_POOL_TIMEOUT ) try : low_conn . putrequest ( request . method , url , skip_accept_encoding = True ) for header , value in request . headers . items ( ) : low_conn . putheader ( header , value ) low_conn . endheaders ( ) for i in request . body : low_conn . send ( hex ( len ( i ) ) [ 2 : ] . encode ( 'utf-8' ) ) low_conn . send ( b'\r\n' ) low_conn . send ( i ) low_conn . send ( b'\r\n' ) low_conn . send ( b'0\r\n\r\n' ) # Receive the response from the server try : # For Python 2.7, use buffering of HTTP responses r = low_conn . getresponse ( buffering = True ) except TypeError : # For compatibility with Python 3.3+ r = low_conn . getresponse ( ) resp = HTTPResponse . from_httplib ( r , pool = conn , connection = low_conn , preload_content = False , decode_content = False ) except : # If we hit any problems here, clean up the connection. # Then, reraise so that we can handle the actual exception. low_conn . close ( ) raise except ( ProtocolError , socket . error ) as err : raise ConnectionError ( err , request = request ) except MaxRetryError as e : if isinstance ( e . reason , ConnectTimeoutError ) : # TODO: Remove this in 3.0.0: see #2811 if not isinstance ( e . reason , NewConnectionError ) : raise ConnectTimeout ( e , request = request ) if isinstance ( e . reason , ResponseError ) : raise RetryError ( e , request = request ) if isinstance ( e . reason , _ProxyError ) : raise ProxyError ( e , request = request ) if isinstance ( e . reason , _SSLError ) : # This branch is for urllib3 v1.22 and later. raise SSLError ( e , request = request ) raise ConnectionError ( e , request = request ) except ClosedPoolError as e : raise ConnectionError ( e , request = request ) except _ProxyError as e : raise ProxyError ( e ) except ( _SSLError , _HTTPError ) as e : if isinstance ( e , _SSLError ) : # This branch is for urllib3 versions earlier than v1.22 raise SSLError ( e , request = request ) elif isinstance ( e , ReadTimeoutError ) : raise ReadTimeout ( e , request = request ) else : raise return self . build_response ( request , resp )