1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
module WEBrick
module HTTPAuth
class DigestAuth
@config: Hash[Symbol, untyped]
@domain: Array[String]?
@use_opaque: bool
@use_next_nonce: bool
@check_nc: bool
@use_auth_info_header: bool
@nonce_expire_period: Integer
@nonce_expire_delta: Integer
@internet_explorer_hack: bool
@h: singleton(Digest::Base)
@instance_key: String
@opaques: Hash[String, OpaqueInfo]
@last_nonce_expire: Time
@mutex: Thread::Mutex
include Authenticator
AuthScheme: String
class OpaqueInfo < Struct[untyped]
attr_accessor time(): Time
attr_accessor nonce(): String?
attr_accessor nc(): String
end
attr_reader algorithm: String?
attr_reader qop: Array[String]
def self.make_passwd: (String realm, String user, String pass) -> untyped
def initialize: (Hash[Symbol, untyped] config, ?Hash[Symbol, untyped] default) -> void
def authenticate: (HTTPRequest req, HTTPResponse res) -> void
def challenge: (HTTPRequest req, HTTPResponse res, ?bool stale) -> bot
private
MustParams: Array[String]
MustParamsAuth: Array[String]
def _authenticate: (HTTPRequest req, HTTPResponse res) -> (:nonce_is_stale | bool)
def split_param_value: (String string) -> Hash[String, String]
def generate_next_nonce: (HTTPRequest req) -> String
def check_nonce: (HTTPRequest req, Hash[String, String] auth_req) -> bool
def generate_opaque: (HTTPRequest req) -> String
def check_opaque: (OpaqueInfo opaque_struct, untyped req, Hash[String, String] auth_req) -> bool
def check_uri: (HTTPRequest req, Hash[String, String] auth_req) -> bool
def hexdigest: (*_ToS? args) -> String
end
class ProxyDigestAuth < DigestAuth
include ProxyAuthenticator
private
def check_uri: (HTTPRequest req, Hash[String, String] auth_req) -> true
end
end
end
|