def proxy_from_url(proxy_url, **kw):
        if (not proxy_url.startswith("http://:@")
                and not proxy_url.startswith("https://:@")):
            return old_proxy_from_url(proxy_url, **kw)

        if (not 'proxy_headers' in kw):
            kw['proxy_headers'] = {}

        proxy_headers = kw['proxy_headers']
        if (not 'Proxy-Authorization' in proxy_headers):
            if isinstance(proxy_url,
                          urllib3.connectionpool.HTTPConnectionPool):
                proxy_url = '%s://%s:%i' % (proxy_url.scheme, proxy_url.host,
                                            proxy_url.port)
            proxy = urllib3.util.url.parse_url(proxy_url)
            kerb_auth = HTTPKerberosAuth(force_preemptive=True)
            auth_header = kerb_auth.generate_request_header(
                None, proxy.host, True)
            proxy_headers['Proxy-Authorization'] = auth_header
        return urllib3.poolmanager.ProxyManager(proxy_url=proxy_url, **kw)
def _create_auth_header(proxy_host, proxy_headers):
    if (not 'Proxy-Authorization' in proxy_headers):
        kerb_auth = HTTPKerberosAuth(force_preemptive=True)
        auth_header = kerb_auth.generate_request_header(None, proxy_host, True)
        proxy_headers['Proxy-Authorization'] = auth_header