Clase: Mongo::servidor::AppMetadata Privado

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. Evita usar esta clase si es posible, ya que puede ser eliminada o modificada en el futuro.

Metadatos de la aplicación que se envían al servidor durante un saludo, cuando se establece una nueva conexión.

Desde:

  • 2.0.0

Definido bajo Namespace

clase: Entorno, Plataforma, Truncador

Resumen de constantes colapsar

MAX_PRGRM_NMBR_SIZE =

Esta constante es parte de una API privada. Deberías evitar usar esta constante si es posible, ya que podría ser retirada o cambiada en el futuro.

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

Desde:

  • 2.0.0

128
DRIVER_NAME =

Esta constante es parte de una API privada. Deberías evitar usar esta constante si es posible, ya que podría ser retirada o cambiada en el futuro.

El nombre del controlador.

Desde:

  • 2.0.0

'mongo-ruby-driver'
CLAVES_DE_OPCION_DE_AUTORIZACION =

Esta constante es parte de una API privada. Deberías evitar usar esta constante si es posible, ya que podría ser retirada o cambiada en el futuro.

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

Desde:

  • 2.0.0

%i[ usuario auth_source auth_mech].freeze
FINES =

Esta constante es parte de una API privada. Deberías evitar usar esta constante si es posible, ya que podría ser retirada o cambiada en el futuro.

Posibles propósitos de conexión.

Desde:

  • 2.0.0

%i[ aplicación Supervisar push_monitor ].freeze

Resumen de atributos de la instancia colapsar

Resumen del método de instancia colapsar

Detalles del Constructor

#initialize(options = {}) ⇒ AppMetadata

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Cree el nuevo objeto AppMetadata.

Ejemplos:

Instancia los metadatos de la aplicación.

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

Parámetros:

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

    Metadata options.

Opciones Hash (options):

  • :app_name (String, Símbolo)

    Nombre de la aplicación que se imprime en los registros de mongod al establecer una conexión

  • auth_mech (Símbolo)

    El mecanismo de autenticación que se debe utilizar. Uno de :mongodb_cr, :mongodb_x509, :plain, :scram, :scram256

  • origen_de_autenticación (string)

    La fuente desde la cual autenticar.

  • compresores (arreglo<String>)

    Una lista de posibles compresores a utilizar, en orden de preferencia. El controlador elige el primer compresor que también es compatible con el servidor. Actualmente, el controlador solo admite 'zstd', 'snappy' y 'zlib'.

  • Plataforma (string)

    Información de la plataforma que se incluirá en los metadatos impresos en los registros de mongod al establecer una conexión

  • :propósito (Símbolo)

    El propósito de esta conexión.

  • API del servidor (encriptada)

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

    • :version -- string
    • :estricto -- booleano
    • :deprecation_errors -- booleano
  • Usuario/a (string)

    El nombre de usuario.

  • wrapping_libraries (arreglo<Hash>)

    Información acerca de las librerías como las ODMs que están encapsulando el driver. Especifica primero las librerías de nivel inferior. Claves hash permitidas: :nombre, :versión, :plataforma.

Desde:

  • 2.4.0



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

def inicializar(opciones = {})
  @app_name = opciones[:app_name].to_s si opciones[:app_name]
  @platforma = opciones[Plataforma]

  @propósito = check_purpose!(opciones[:propósito])

  @compressors = opciones[compresores] || []
  @wrapping_libraries = opciones[wrapping_libraries]
  @server_api = opciones[API del servidor]

  return a menos que opciones[Usuario/a] && !opciones[auth_mech]

  auth_db = opciones[origen_de_autenticación] || 'admin'
  @request_auth_mech = "#{auth_db}.#{options[:user]}"
end

Detalles de atributo de instancias

#plataformaString (solo lectura)

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve la información de la plataforma proporcionada cuando se instanció el objeto.

Devuelve:

  • (string)

    La información de la plataforma proporcionada cuando el objeto fue instanciado.

Desde:

  • 2.0.0



94
95
96
# Archivo 'lib/mongo/server/app_metadata.rb', línea 94

def Plataforma
  @platforma
end

#propósitoSímbolo (solo lectura)

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Devoluciones 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 crea los metadatos de esta aplicación.

Desde:

  • 2.0.0



90
91
92
# Archivo 'lib/mongo/server/app_metadata.rb', línea 90

def Propósito
  @propósito
end

#server_apiHash | nil (solo lectura)

Este método es parte de una API privada. Se debe evitar el uso de este método 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:

  • :version -- string
  • :estricto -- booleano
  • :deprecation_errors -- booleano.

Devuelve:

  • (Hash | nil)

    La versión solicitada de la API del servidor.

    Este hash puede tener los siguientes elementos:

    • :version -- string
    • :estricto -- booleano
    • :deprecation_errors -- booleano

Desde:

  • 2.0.0



102
103
104
# Archivo 'lib/mongo/server/app_metadata.rb', línea 102

def server_api
  @server_api
end

#wrapping_librariesarreglo<Hash> | nil (solo lectura)

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve Información sobre las librerías que envuelven el driver.

Devuelve:

  • (Array<Hash> | nil)

    Información sobre las librerías que envuelven el driver.

Desde:

  • 2.0.0



106
107
108
# Archivo 'lib/mongo/server/app_metadata.rb', línea 106

def wrapping_libraries
  @wrapping_libraries
end

Detalles del método de instancia

#client_documentBSON::Document

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Obtener BSON::Document para usar como valor de la clave client en el documento de enlace.

Devuelve:

  • (BSON::Document)

    Documento que describe el cliente para el handshake.

Desde:

  • 2.0.0



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

def client_document
  @client_document ||=
    BSON::Documento.Nuevo.tocar hacer |doc|
      doc[aplicación] = { nombre: @app_name } si @app_name
      doc[driver] = driver_doc
      doc[:os] = os_doc
      doc[Plataforma] = platform_string
      doc[resistencia] = true
      env_doc.tocar { |env| doc[:env] = env si env }
    end
end

#validated_documentBSON::Document

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Obtenga los metadatos como BSON::Document para ser enviados como parte del saludo inicial. El documento debe adjuntarse a un comando de apretón de manos adecuado.

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

Devuelve:

  • (BSON::Document)

    Documento válido para el apretón de manos de la conexión.

Aumenta:

Desde:

  • 2.0.0



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

def documento_validado
  validate!
  Documento
end