Sha256: 668e29534978691da62e13ddd6e1381f72bbd32d8b7b286467423ee03cd7b844

Contents?: true

Size: 1013 Bytes

Versions: 3

Compression:

Stored size: 1013 Bytes

Contents

module HTTPX
  type ipaddr = IPAddr | String

  module Resolver
    extend Registry[Symbol, Class]

    RESOLVE_TIMEOUT: Integer | Float

    @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 }


    def nolookup_resolve: (String hostname) -> Array[IPAddr]

    def ip_resolve: (String hostname) -> Array[IPAddr]?

    def system_resolve: (String hostname) -> Array[IPAddr]?

    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, Numeric ttl) -> Array[IPAddr]?

    def self?.generate_id: () -> Integer

    def self?.encode_dns_query: (String hostname, ?type: dns_resource) -> String

    def self?.decode_dns_answer: (String) -> Array[dns_result]?
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
httpx-0.22.5 sig/resolver.rbs
httpx-0.22.4 sig/resolver.rbs
httpx-0.22.3 sig/resolver.rbs