code: def rebuild_proxies(self, prepared_request, proxies):
          
          proxies = proxies if proxies is not None else {}
          headers = prepared_request.headers
          url = prepared_request.url
          scheme = urlparse(url).scheme
          new_proxies = proxies.copy()
          no_proxy = proxies.get('no_proxy')
  
          bypass_proxy = should_bypass_proxies(url, no_proxy=no_proxy)
          if self.trust_env and not bypass_proxy:
              environ_proxies = get_environ_proxies(url, no_proxy=no_proxy)
  
              proxy = environ_proxies.get(scheme, environ_proxies.get('all'))
  
              if proxy:
                  new_proxies.setdefault(scheme, proxy)
  
          if 'Proxy-Authorization' in headers:
              del headers['Proxy-Authorization']
  
          try:
              username, password = get_auth_from_url(new_proxies[scheme])
          except KeyError:
              username, password = None, None
  
          if username and password:
              headers['Proxy-Authorization'] = _basic_auth_str(username, password)
  
          return new_proxies
docs: This method re-evaluates the proxy configuration by considering the
          environment variables. If we are redirected to a URL covered by
          NO_PROXY, we strip the proxy configuration. Otherwise, we set missing
          proxy keys for this URL (in case they were stripped by a previous
          redirect).
  
          This method also replaces the Proxy-Authorization header where
          necessary.
  
          :rtype: dict