# File lib/httparty/net_digest_auth.rb, line 6 def digest_auth(user, password, response) response['www-authenticate'] =~ /^(\w+) (.*)/ params = {} $2.gsub(/(\w+)="(.*?)"/) { params[$1] = $2 } params.merge!("cnonce" => Digest::MD5.hexdigest("%x" % (Time.now.to_i + rand(65535)))) a_1 = Digest::MD5.hexdigest("#{user}:#{params['realm']}:#{password}") a_2 = Digest::MD5.hexdigest("#{@method}:#{@path}") request_digest = Digest::MD5.hexdigest( [a_1, params['nonce'], "0", params['cnonce'], params['qop'], a_2].join(":") ) header = [ %(Digest username="#{user}"), %(realm="#{params['realm']}"), %(qop="#{params['qop']}"), %(uri="#{@path}"), %(nonce="#{params['nonce']}"), %(nc="0"), %(cnonce="#{params['cnonce']}"), %(opaque="#{params['opaque']}"), %(response="#{request_digest}") ] @header['Authorization'] = header end
Generated with the Darkfish Rdoc Generator 2.