-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathresolver.rbs
43 lines (26 loc) · 1.57 KB
/
resolver.rbs
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
module HTTPX
type ipaddr = IPAddr | String
module Resolver
RESOLVE_TIMEOUT: Array[Integer]
@lookup_mutex: Thread::Mutex
type dns_resource = singleton(Resolv::DNS::Resource)
type dns_result = { "name" => String, "TTL" => Numeric, "alias" => String }
| { "name" => String, "TTL" => Numeric, "data" => String }
type dns_decoding_response = [:ok, Array[dns_result]] | [:decode_error, Resolv::DNS::DecodeError] | [:dns_error, Integer] | Symbol
def nolookup_resolve: (String hostname) -> Array[IPAddr]
def ip_resolve: (String hostname) -> Array[IPAddr]?
def system_resolve: (String hostname) -> Array[IPAddr]?
def self?.resolver_for: (:native resolver_type) -> singleton(Native) |
(:system resolver_type) -> singleton(System) |
(:https resolver_type) -> singleton(HTTPS) |
[U] (U resolver_type) -> U
def self?.cached_lookup: (String hostname) -> Array[IPAddr]?
def self?.cached_lookup_set: (String hostname, ip_family family, Array[dns_result] addresses) -> void
def self?.lookup: (String hostname, Hash[String, Array[dns_result]] lookups, Numeric ttl) -> Array[IPAddr]?
def self?.generate_id: () -> Integer
def self?.encode_dns_query: (String hostname, ?type: dns_resource, ?message_id: Integer) -> String
def self?.decode_dns_answer: (String) -> dns_decoding_response
def self?.lookup_synchronize: [U] () { (Hash[String, Array[dns_result]] lookups) -> U } -> U
def self?.id_synchronize: () { () -> void } -> void
end
end