24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
# File 'lib/marklogic/connection.rb', line 24
def digest_auth(user, password, params)
a_1 = "#{user}:#{params['realm']}:#{password}"
a_2 = "#{@method}:#{@path}"
request_digest = ''
request_digest << Digest::MD5.new.update(a_1).hexdigest
request_digest << ':' << params['nonce']
request_digest << ':' << ('%08x' % @@nonce_count)
request_digest << ':' << CNONCE
request_digest << ':' << params['qop']
request_digest << ':' << Digest::MD5.new.update(a_2).hexdigest
= []
<< "Digest username=\"#{user}\""
<< "realm=\"#{params['realm']}\""
<< "qop=#{params['qop']}"
<< "algorithm=MD5"
<< "uri=\"#{@path}\""
<< "nonce=\"#{params['nonce']}\""
<< "nc=#{'%08x' % @@nonce_count}"
<< "cnonce=\"#{CNONCE}\""
<< "response=\"#{Digest::MD5.hexdigest(request_digest)}\""
['Authorization'] =
params
end
|