úÎ5 None GThis is an abstract type representing the challenge sent by the server.GRealm is the only thing users are supposed to know about the challenge.CThis function extracts a WWW-Authenticate header from the response.…This function parses the WWW-Authenticate header line to get a challenge. If it fails, it's probably because the header is malformed·This function parses the response headers to get the challenge. It failes if there is some challenge, but it can't be parsed. If there is no challenge at all, function doesn't fail.OThis function creates a string that should be sent in the Authorization header.UThis function extracts URI part from the request. It wouldn't include the host name.3This function makes an MD5 hash of the request body×This is the main function. It sends a request, gets the response, and, if this response requires authorization, it sends the same request again, now including authorization data (user-supplied login and password).=  !"#$%&'()*+,-./01234567loginpassword/string to use as cnonce, not very important yet)first request, already sent to the server9challenge generated by server in responce to that request89loginpasswordfunction like withManager . httpLbs, to actually send a request'request to send (without authorization):;<  !    !"#&%$'*)(+,-./0123456789:;<=      !!"#$%&'&()*+,-./0123456789:;http-client-auth-0.1.0.1Network.HTTP.Client.Auth ChallengerealmextractAuthHeaderparseChallenge getChallengemakeRequestHeadermakeRequestUrimakeRequestBodyHashrequestWithAuthQopValueAuthIntAuthDigestAlgorithmMD5SessMD5MDigestChallenge mDigestRealmmDomainmNoncemOpaquemStale mAlgorithmmQopDigestChallenge digestRealmdomainnonceopaquestale algorithmqopBasicChallenge basicRealmDigestBasicNoneOnceMultipleNotEncountered onceToMaybefinDigestChallenge isWordCharorElsetokenequal singleQuote quotedStrcommaSepeolparseDigestChallengeparseDigestFieldsparseBasicChallengepopperToSourcegpToHash$fMonoidQopValue$fMonoidMDigestChallenge $fMonoidOnce