def SendSOAPDataHTTPDigestAuth(self, response, soapdata, url, request_uri, soapaction, **kw):
if self.trace:<EOL><INDENT>print("<STR_LIT>", file=self.trace)<EOL><DEDENT>url = url or self.url<EOL>if response.status != <NUM_LIT>:<EOL><INDENT>raise RuntimeError('<STR_LIT>')<EOL><DEDENT>if self.auth_style != AUTH.httpdigest:<EOL><INDENT>raise RuntimeError('<STR_LIT>' %self.auth_style)<EOL><DEDENT>from pyremotevbox.ZSI.digest_auth import fetch_challenge,generate_response,build_authorization_arg,dict_fetch<EOL>chaldict = fetch_challenge( response.getheader('<STR_LIT>') )<EOL>if dict_fetch(chaldict,'<STR_LIT>','<STR_LIT>').lower() == '<STR_LIT>' anddict_fetch(chaldict,'<STR_LIT>',None) anddict_fetch(chaldict,'<STR_LIT>',None) anddict_fetch(chaldict,'<STR_LIT>',None):<EOL><INDENT>authdict = generate_response(chaldict,<EOL>request_uri, self.auth_user, self.auth_pass, method='<STR_LIT:POST>')<EOL>headers = {'<STR_LIT>':build_authorization_arg(authdict),<EOL>'<STR_LIT>':'<STR_LIT>',<EOL>}<EOL>self.SendSOAPData(soapdata, url, soapaction, headers, **kw)<EOL>return<EOL><DEDENT>raise RuntimeError('<STR_LIT>')<EOL>
Resend the initial request w/http digest authorization headers.
        The SOAP server has requested authorization.  Fetch the challenge, 
        generate the authdict for building a response.