Return the "Authorization" HTTP header value to use for this URL.

def negotiate_header(url):
    """
    Return the "Authorization" HTTP header value to use for this URL.
    """
    hostname = urlparse(url).hostname
    _, krb_context = kerberos.authGSSClientInit('HTTP@%s' % hostname)
    # authGSSClientStep goes over the network to the KDC (ie blocking).
    yield threads.deferToThread(kerberos.authGSSClientStep,
                                krb_context, '')
    negotiate_details = kerberos.authGSSClientResponse(krb_context)
    defer.returnValue('Negotiate ' + negotiate_details)