Clase: Mongo::Dirección::IPv6

Hereda:
Objeto
  • Objeto
Mostrar todo
Definido en:
lib/mongo/address/ipv6.rb

Overview

Configura la resolución con soporte con IPv6 si la dirección es una dirección ip.

Desde:

  • 2.0.0

Colapso delresumen constante

MATCH =

La expresión regular a utilizar para hacer coincidir una dirección IP IPv6.

Desde:

  • 2.0.0

Regexp.Nuevo('::').freeze

Resumen de atributos de la instancia colapsar

Resumen del método de clase colapsar

Resumen del método de instancia colapsar

Detalles del constructor

#inicializar(host, puerto, nombre_host = nil) ⇒ IPv6

Inicializa el resolutor IPv6.

Ejemplos:

Inicializa el resolvedor.

IPv6.new("::1", 28011, 'localhost')

Parámetros:

  • host (string)

    El anfitrión.

  • Puerto (Número entero)

    El puerto.

Desde:

  • 2.0.0



86
87
88
89
90
# Archivo 'lib/mongo/address/ipv6.rb', línea 86

def inicializar(host, Puerto, nombre_de_host=nulo)
  @host = host
  @puerto = Puerto
  @nombre_de_host = nombre_de_host
end

Detalles de los atributos de instancia

#hostCadena (solo lectura)

Devuelve el host El host.

Devuelve:

  • (string)

    host El host.

Desde:

  • 2.0.0



28
29
30
# Archivo 'lib/mongo/address/ipv6.rb', línea 28

def host
  @host
end

#nombre_del_hoststring (solo lectura)

Devuelve host_name El nombre de host original.

Devuelve:

  • (string)

    host_name El nombre original del host.

Desde:

  • 2.0.0



31
32
33
# Archivo 'lib/mongo/address/ipv6.rb', línea 31

def nombre_de_host
  @nombre_de_host
end

#puertoEntero (solo lectura)

Devuelve el puerto El puerto.

Devuelve:

  • (Número entero)

    puerto El puerto.

Desde:

  • 2.0.0



34
35
36
# Archivo 'lib/mongo/address/ipv6.rb', línea 34

def Puerto
  @puerto
end

Detalles del método de clase

.parse(address) ⇒ arreglo<string, Integer>

Analiza una dirección IPv6 en su host y puerto.

Ejemplos:

Analice la dirección.

IPv6.parse("[::1]:28011")

Parámetros:

  • dirección (string)

    La dirección a analizar.

Devuelve:

  • (arreglo<string, Integer>)

    El par de host y puerto.

Desde:

  • 2.0.0



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
# Archivo 'lib/mongo/address/ipv6.rb', línea 51

def sí mismo.parse(dirección)
  # El analizador de IPAddr solo gestiona direcciones IP, no puertos.
  # Por lo tanto, debemos gestionar el puerto nosotros mismos.
  si dirección =~ /[\[\]]/
    piezas = dirección.coincidencia(/\A\[(.+)\](?::(\d+))?\z/)
    si piezas.nil?
      propagar ArgumentError, "Dirección IPv6 no válida: #{address}"
    end
    host = piezas[1]
    Puerto = (piezas[2] || 27017).to_i
  else
    host = dirección
    Puerto = 27017
  end
  # Validar el host.
  # Esto generará un IPAddr::InvalidAddressError
  # en rubíes más nuevos, que es una subclase de ArgumentError
  # si el host no es válido
  begin
    IPAddr.Nuevo(host)
  rescate ArgumentError
    propagar ArgumentError, "Dirección IPv6 no válida: #{address}"
  end
  [ host, Puerto ]
end

Detalles del método de instancia

#socket(socket_timeout, options = {}) ⇒ Mongo::Socket::SSL, Mongo::Socket::TCP

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Obtenga un socket para el tipo de dirección proporcionado, dadas las opciones.

Ejemplos:

Obtener un socket IPv6.

ipv4.socket(5, :ssl => true)

Parámetros:

  • socket_timeout (Float)

    El tiempo de espera del socket.

  • opciones (Hash) (por defecto: {})

    Las opciones.

Opciones Hash (options):

  • :tiempo de espera de conexión (Flotante)

    Tiempo de espera de conexión.

  • :ssl (true | false)

    Si se debe utilizar TLS.

  • :certificado ssl_ca_cert (Cadena)

    Igual que la opción correspondiente de Cliente/Socket::SSL.

  • :objeto de certificado SSL CA (Array<OpenSSL::X509::Certificate>)

    Igual que la opción correspondiente de Cliente/Socket::SSL.

  • :ssl_ca_cert_string (Cadena)

    Igual que la opción correspondiente de Cliente/Socket::SSL.

  • :certificado_ssl (Cadena)

    Igual que la opción correspondiente de Cliente/Socket::SSL.

  • :objeto de certificado SSL (OpenSSL::X509::Certificate)

    Igual que la opción correspondiente de Cliente/Socket::SSL.

  • :ssl_cert_string (Cadena)

    Igual que la opción correspondiente de Cliente/Socket::SSL.

  • :ssl_key (Cadena)

    Igual que la opción correspondiente de Cliente/Socket::SSL.

  • :ssl_key_object (OpenSSL::PKey)

    Igual que la opción correspondiente de Cliente/Socket::SSL.

  • :frase_de_contraseña_de_clave_ssl (Cadena)

    Igual que la opción correspondiente de Cliente/Socket::SSL.

  • Cadena de clave SSL (Cadena)

    Igual que la opción correspondiente de Cliente/Socket::SSL.

  • Verificación SSL (verdadero, falso)

    Igual que la opción correspondiente de Cliente/Socket::SSL.

  • ssl_verificar_certificado (verdadero, falso)

    Igual que la opción correspondiente de Cliente/Socket::SSL.

  • :ssl_verify_hostname (verdadero, falso)

    Igual que la opción correspondiente de Cliente/Socket::SSL.

Devuelve:

Desde:

  • 2.0.0



133
134
135
136
137
138
139
# Archivo 'lib/mongo/address/ipv6.rb', línea 133

def enchufe(socket_timeout, opciones = {})
  si opciones[:ssl]
    Socket::SSL.Nuevo(host, Puerto, nombre_de_host, socket_timeout, Socket::PF_INET6, opciones)
  else
    Socket::TCP.Nuevo(host, Puerto, socket_timeout, Socket::PF_INET6, opciones)
  end
end