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 protocolo de enlace,

when a new connection is established.

Desde:

  • 2.0.0

Subclases conocidas directas

Monitor::Metadatos de la aplicación

Definido bajo Namespace

Clases: Entorno, Plataforma, Truncador

Colapso delresumen constante

MAX_PRGRM_NMBR_SIZE =

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 de 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 controlador.

Desde:

  • 2.0.0

'mongo-ruby-driver'
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.

Claves 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

Resumen de atributos de la instancia colapsar

Resumen del método de instancia colapsar

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) (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 en versiones de servidor >= 3.4.

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

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

  • origen_de_autenticación (Cadena)

    La fuente desde la cual autenticar.

  • :compresores (Matriz<String>)

    Una lista de posibles compresores para utilizar, en orden de preferencia. El controlador elige el primer compresor que también sea compatible con el servidor. Actualmente, el driver solo admite ‘zstd’, ‘snappy’ y ‘zlib’.

  • :plataforma (Cadena)

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

  • :propósito (Símbolo)

    El propósito de esta conexión.

  • API del servidor (Hash)

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

    El nombre de usuario.

  • wrapping_libraries (arreglo<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[:app_name].to_s si opciones[:app_name]
  @plataforma = opciones[:plataforma]

  @propósito = ¡comprobar propósito!(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[:mecánica de autenticación]

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

Detalles de los atributos de instancia

#plataformaString (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 instanció el objeto.

Devuelve:

  • (string)

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

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:

  • :version – string

  • :estricto – booleano

  • :deprecation_errors – booleano.

Devuelve:

  • (Hash | nil)

    La versión de API del servidor solicitada.

    Este hash puede tener los siguientes elementos:

    • :version – string

    • :estricto – booleano

    • :deprecation_errors – booleano

Desde:

  • 2.0.0



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

def server_api
  @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 librerías que envuelven el driver.

Devuelve:

  • (Matriz<Hash> | nulo ) —

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

Desde:

  • 2.0.0



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

def wrapping_libraries
  @wrapping_libraries
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.

Obtén BSON::Document para usarlo como valor de la clave ‘cliente` en el documento de handshake.

Devuelve:

  • (BSON::Document)

    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 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
      env_doc.tocar { |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 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 conexión.

Aumenta:

Desde:

  • 2.0.0



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

def documento validado
  validate!
  Documento
end