Clase: Mongo::Server::AppMetadata Privada

Hereda:
Objeto
  • Objeto
Mostrar todo
Ampliado por:
Reenviable
Definido en:
lib/mongo/server/app_metadata.rb,
lib/mongo/server/app_metadata/platform.rb,
lib/mongo/server/app_metadata/truncator.rb,
lib/mongo/server/app_metadata/environment.rb

Overview

Esta clase forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.

Metadatos de la aplicación que se envían al servidor durante un protocolo de enlace,

when a new connection is established.

Desde:

  • 2.0.0

Subclases conocidas directas

Monitor::Metadatos de la aplicación

Definido en el espacio de nombres

Clases: Entorno, Plataforma, Truncador

Colapso delresumen constante

TAMAÑO MÁXIMO DEL NOMBRE DE LA APLICACIÓN =

Esta constante forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.

El tamaño máximo en bytes del nombre de la aplicación.

Desde:

  • 2.0.0

128
DRIVER_NAME =

Esta constante forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.

El nombre del conductor.

Desde:

  • 2.0.0

'controlador mongo-ruby'
TECLAS DE OPCIÓN DE AUTORIZACIÓN =

Esta constante forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.

Teclas de opción que afectan la negociación del mecanismo de autenticación.

Desde:

  • 2.0.0

%i[ usuario fuente de autenticación auth_mech].freeze
PROPÓSITOS =

Esta constante forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.

Posibles propósitos de conexión.

Desde:

  • 2.0.0

%i[ aplicación Supervisar monitor_push ].freeze

Colapso delresumen de atributos de instancia

Colapso del resumen del método de instancia

Detalles del constructor

#initialize(options = {}) ⇒ AppMetadata

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

Cree una instancia del nuevo objeto AppMetadata.

Ejemplos:

Crear una instancia de los metadatos de la aplicación.

Mongo::Server::AppMetadata.new(options)

Parámetros:

  • opciones (Hash) (predeterminado: {})

    Metadata options.

Opciones Hash(opciones):

  • :nombre_de_la_aplicación (Cadena,Símbolo)

    Nombre de la aplicación que se imprime en los registros de mongod al establecer una conexión en las versiones del servidor >= 3.4.

  • :mecánica de autenticación (Símbolo)

    El mecanismo de autenticación a utilizar. Uno de los siguientes: :mongodb_cr, :mongodb_x509, :plain, :scram, :scram256

  • :fuente_de_autorización (Cadena)

    La fuente desde la cual se realizará la autenticación.

  • :compresores (Matriz<String>)

    Una lista de posibles compresores, en orden de preferencia. El controlador elige el primer compresor compatible con el servidor. Actualmente, el controlador solo admite 'zstd', 'snappy' y 'zlib'.

  • :plataforma (Cadena)

    Información de la plataforma a incluir en los metadatos impresos en los registros de mongod al establecer una conexión en versiones de servidor >= 3.4.

  • :objetivo (Símbolo)

    El propósito de esta conexión.

  • :server_api (Hash)

    La versión de la API del servidor solicitada. Este hash puede contener los siguientes elementos:

    • :versión – cadena

    • :strict – booleano

    • :errores_de_deprecación – booleano

  • :usuario (Cadena)

    El nombre de usuario.

  • :bibliotecas_de_envoltura (Matriz<Hash>)

    Información sobre bibliotecas como los ODM que encapsulan el controlador. Especifique primero las bibliotecas de nivel inferior. Claves hash permitidas: :nombre, :versión, :plataforma.

Desde:

  • 2.4.0



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# Archivo 'lib/mongo/server/app_metadata.rb', línea 74

def inicializar(opciones = {})
  @app_name = opciones[:nombre_de_la_aplicación].a_s Si opciones[:nombre_de_la_aplicación]
  @plataforma = opciones[:plataforma]

  @propósito = ¡comprobar propósito!(opciones[:objetivo])

  @compressors = opciones[:compresores] || []
  @bibliotecas_de_envoltura = opciones[:bibliotecas_de_envoltura]
  @server_api = opciones[:server_api]

  return a no ser que opciones[:usuario] && !opciones[:mecánica de autenticación]

  auth_db = opciones[:fuente_de_autorización] || 'administrador'
  @solicitud_de_autorización_mech = "#{auth_db }.#{opciones [:usuario]}"
end

Detalles de los atributos de instancia

#plataformaCadena (solo lectura)

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

Devuelve la información de la plataforma proporcionada cuando se creó una instancia del objeto.

Devuelve:

  • (Cadena) -

    La información de la plataforma proporcionada cuando se creó una instancia del objeto.

Desde:

  • 2.0.0



96
97
98
# Archivo 'lib/mongo/server/app_metadata.rb', línea 96

def plataforma
  @plataforma
end

#propósitoSímbolo (solo lectura)

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

Devuelve El propósito de la conexión para la cual se crean estos metadatos de la aplicación.

Devuelve:

  • ( Símbolo) -

    El propósito de la conexión para la cual se crean estos metadatos de la aplicación.

Desde:

  • 2.0.0



92
93
94
# Archivo 'lib/mongo/server/app_metadata.rb', línea 92

def propósito
  @propósito
end

#server_apiHash | nil (solo lectura)

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

Devuelve la versión de API del servidor solicitada.

Este hash puede tener los siguientes elementos:

  • :versión – cadena

  • :strict – booleano

  • :deprecation_errors – booleano.

Devuelve:

  • (Hash | nulo ) —

    La versión de API del servidor solicitada.

    Este hash puede tener los siguientes elementos:

    • :versión – cadena

    • :strict – booleano

    • :errores_de_deprecación – booleano

Desde:

  • 2.0.0



104
105
106
# Archivo 'lib/mongo/server/app_metadata.rb', línea 104

def API del servidor
  @server_api
end

#bibliotecas_de_envolturaArray<Hash> | nulo (solo lectura)

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

Devuelve información sobre las bibliotecas que envuelven el controlador.

Devuelve:

  • (Matriz<Hash> | nulo ) —

    Información sobre las bibliotecas que envuelven el controlador.

Desde:

  • 2.0.0



108
109
110
# Archivo 'lib/mongo/server/app_metadata.rb', línea 108

def bibliotecas de envoltura
  @bibliotecas_de_envoltura
end

Detalles del método de instancia

#client_documentBSON::Document

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 BSON::Document para utilizarlo como valor para la clave 'cliente' en el documento de protocolo de enlace.

Devuelve:

  • (BSON::Documento)

    Documento que describe el cliente para el handshake.

Desde:

  • 2.0.0



128
129
130
131
132
133
134
135
136
137
# Archivo 'lib/mongo/server/app_metadata.rb', línea 128

def documento_del_cliente
  @client_document ||=
    BSON::Documento.Nuevo.grifo hacer |doc|
      doc[:solicitud] = { nombre: @app_name } Si @app_name
      doc[:conductor] = driver_doc
      doc[:os] = os_doc
      doc[:plataforma] = cadena_de_plataforma
      env_doc.grifo { |env| doc[:env] = env Si env }
    end
end

#validated_documentBSON::Document

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 los metadatos como BSON::Document para enviarlos como parte del protocolo de enlace. El documento debe adjuntarse a un comando de protocolo de enlace adecuado.

Este método garantiza que los metadatos sean válidos.

Devuelve:

  • (BSON::Documento)

    Documento válido para el protocolo de conexión.

Aumentos:

Desde:

  • 2.0.0



119
120
121
122
# Archivo 'lib/mongo/server/app_metadata.rb', línea 119

def documento validado
  validate!
  Documento
end