# File lib/httparty/net_digest_auth.rb, line 6 6: def digest_auth(user, password, response) 7: response['www-authenticate'] =~ /^(\w+) (.*)/ 8: 9: params = {} 10: $2.gsub(/(\w+)="(.*?)"/) { params[$1] = $2 } 11: params.merge!("cnonce" => Digest::MD5.hexdigest("%x" % (Time.now.to_i + rand(65535)))) 12: 13: a_1 = Digest::MD5.hexdigest("#{user}:#{params['realm']}:#{password}") 14: a_2 = Digest::MD5.hexdigest("#{@method}:#{@path}") 15: 16: request_digest = Digest::MD5.hexdigest( 17: [a_1, params['nonce'], "0", params['cnonce'], params['qop'], a_2].join(":") 18: ) 19: 20: header = [ 21: %(Digest username="#{user}"), 22: %(realm="#{params['realm']}"), 23: %(qop="#{params['qop']}"), 24: %(uri="#{@path}"), 25: %(nonce="#{params['nonce']}"), 26: %(nc="0"), 27: %(cnonce="#{params['cnonce']}"), 28: %(opaque="#{params['opaque']}"), 29: %(response="#{request_digest}") 30: ] 31: 32: @header['Authorization'] = header 33: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.