summaryrefslogtreecommitdiff
path: root/vendor/bundle/ruby/3.4.0/gems/webrick-1.9.1/sig/httpauth/digestauth.rbs
blob: 8d12f911154ef577f9d708e4e0d670180d51e243 (plain)
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