Clase: Mongo::Dirección::IPv6

Hereda:
Objeto
  • Objeto
Mostrar todo
Definido en:
lib/mongo/dirección/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

PARTIDO =

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

Desde:

  • 2.0.0

Regexp.Nuevo('::').freeze

Colapso delresumen de atributos de instancia

Colapso delresumen del método de clase

Colapso del resumen del método de instancia

Detalles del constructor

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

Inicializa el resolutor IPv6.

Ejemplos:

Inicializar el resolver.

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

Parámetros:

  • host (Cadena) -

    El anfitrión.

  • Puerto (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:

  • (Cadena) -

    anfitrión El anfitrión.

Desde:

  • 2.0.0



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

def host
  @host
end

#host_nameCadena (solo lectura)

Devuelve host_name El nombre del host original.

Devuelve:

  • (Cadena) -

    host_name El nombre del host original.

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 puerto El puerto.

Devuelve:

  • (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(dirección) ⇒ Array<String, Integer>

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

Ejemplos:

Analizar la dirección.

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

Parámetros:

  • dirección (Cadena) -

    La dirección a analizar.

Devuelve:

  • (Matriz<Cadena, Entero>)

    El par 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 yo.parse(dirección)
  # El analizador de IPAddr maneja únicamente la dirección IP, no el puerto.
  # Por lo tanto, debemos gestionar el puerto nosotros mismos.
  Si dirección =~ /[\[\]]/
    partes = dirección.coincidencia(/\A\[(.+)\](?::(\d+))?\z/)
    Si partes.nil?
      propagar ArgumentError, "DirecciónIPv6 no válida: #{dirección }"
    end
    host = partes[1]
    Puerto = (partes[2] || 27017).to_i
  else
    host = dirección
    Puerto = 27017
  end
  # Validar host.
  # Esto generará 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ónIPv6 no válida: #{dirección }"
  end
  [ host, Puerto ]
end

Detalles del método de instancia

#socket(tiempo de espera de socket, opciones = {}) ⇒ 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:

  • tiempo de espera del socket (Flotar) -

    El tiempo de espera del socket.

  • opciones (Hash) (predeterminado: {})

    Las opciones.

Opciones Hash(opciones):

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

    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 (Matriz<OpenSSL::X509::Certificate>)

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

  • :cadena de certificado ssl_ca (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::X::Certificado)509

    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 claves SSL (Cadena)

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

  • :ssl_verify (verdadero,falso)

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

  • :certificado_de_verificación_ssl (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 Socket(tiempo de espera del socket, opciones = {})
  Si opciones[:ssl]
    Enchufe::SSL.Nuevo(host, Puerto, nombre_de_host, tiempo de espera del socket, Enchufe::PF_INET6, opciones)
  else
    Enchufe::TCP.Nuevo(host, Puerto, tiempo de espera del socket, Enchufe::PF_INET6, opciones)
  end
end