Classe: Mongo::Server::AppMetadata Private

Herda:
Objeto
  • Objeto
mostrar tudo
Estendido por:
Encaminhável
Definido em:
lib/mongo/ servidor/app_metadata.rb,
lib/mongo/ servidor/app_metadata/platform.rb,
lib/mongo/ servidor/app_metadata/truncator.rb,
lib/mongo/ servidor/app_metadata/environment.rb

Visão geral

Esta classe faz parte de uma API privada. Evite usar essa classe, se possível, pois ela pode ser removida ou alterada no futuro.

Metadados do aplicativo que são enviados para o servidor durante uma negociação, quando uma nova conexão é estabelecida.

Desde:

  • 2.0.0

Definido sob namespace

Classes: Ambiente, Plataforma, Truncador

Colapsode resumo constante

MAX_APP_NAME_SIZE =

Essa constante faz parte de uma API privada. Você deve evitar usar essa constante, se possível, pois ela pode ser removida ou alterada no futuro.

O tamanho máximo de bytes de nome do aplicação .

Desde:

  • 2.0.0

128
DRIVER_NAME =

Essa constante faz parte de uma API privada. Você deve evitar usar essa constante, se possível, pois ela pode ser removida ou alterada no futuro.

O nome do driver.

Desde:

  • 2.0.0

'mongo-ruby-driver'
AUTH_OPTION_KEYS =

Essa constante faz parte de uma API privada. Você deve evitar usar essa constante, se possível, pois ela pode ser removida ou alterada no futuro.

Chaves de opção que afetam a negociação do mecanismo de autenticação.

Desde:

  • 2.0.0

%i[ utilizador auth_source auth_mech].congelar
FINS =

Essa constante faz parte de uma API privada. Você deve evitar usar essa constante, se possível, pois ela pode ser removida ou alterada no futuro.

Possíveis finalidades de conexão.

Desde:

  • 2.0.0

%i[ Aplicativo monitorar push_monitor ].congelar

Recolhimento do Resumo do atributo de instância

Recolhimento do Resumo do método de instância

Detalhes do construtor

#initialize(options = {}) ➤ AppMetadata

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Instancie o novo objeto AppMetadata .

Exemplos:

Instancie os metadados do aplicativo.

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

Parâmetros:

  • opções (Hash) (padrão para: {})

    Metadata options.

Hash de opções (opções):

  • :app_name (string, símbolo)

    Nome do aplicativo que é impresso nos registros do mongod ao estabelecer uma conexão

  • :auth_mech (Símbolo)

    O mecanismo de autenticação a ser usado. Um de :mongodb_cr, :mongodb_x509, :plain, :scram, :scram256

  • :auth_source (string)

    A fonte da qual autenticar.

  • :compressors (Array<String>)

    Uma lista de possíveis compressores a serem usados, em ordem de preferência. O driver escolhe o primeiro compressor que também é suportado pelo servidor. Atualmente, o driver suporta apenas 'zstd', 'snappy' e 'zlib'.

  • :platform (string)

    Informações da plataforma a serem incluídas nos metadados impressos nos registros do mongod ao estabelecer uma conexão

  • :finalidade (Símbolo)

    O objetivo desta conexão.

  • :server_api (Hash)

    A versão da API do servidor solicitado. Esse hash pode ter os seguintes itens:

    • :version -- string
    • :strict -- booleano
    • :deprecation_errors -- booleano
  • : user (string)

    O nome de usuário.

  • :wrapping_libraries (Array<Hash>)

    Informações sobre bibliotecas, como ODMs, que estão envolvendo o driver. Especifique primeiro as bibliotecas de nível inferior. Chaves de hash permitidas: :name, :version, :platform.

Desde:

  • 2.4.0



72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# Arquivo 'lib/mongo/ servidor/app_metadata.rb', linha 72

def inicializar(opções = {})
  @app_name = opções[:app_name].to_s se opções[:app_name]
  @platform = opções[:platform]

  @propósito = check_tention!(opções[:finalidade])

  @compressors = opções[:compressors] || []
  @wrapping_libraries = opções[:wrapping_libraries]
  @server_api = opções[:server_api]

  Método a menos que opções[: user] && !opções[:auth_mech]

  auth_db = opções[:auth_source] || 'admin'
  @request_auth_mech = "#{auth_db}.#{options[:user]}"
end

Detalhes do atributo da instância

#plataformastring (somente leitura)

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Retorna As informações da plataforma fornecidas quando o objeto foi instanciado.

Retorna:

  • (string)

    As informações da plataforma fornecidas quando o objeto foi instanciado.

Desde:

  • 2.0.0



94
95
96
# Arquivo 'lib/mongo/ servidor/app_metadata.rb', linha 94

def Plataforma
  @platform
end

#finalsímbolo (somente leitura)

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Retorna A finalidade da conexão para a qual os metadados desse aplicativo são criados.

Retorna:

  • (Símbolo)

    A finalidade da conexão para a qual os metadados deste aplicativo são criados.

Desde:

  • 2.0.0



90
91
92
# Arquivo 'lib/mongo/ servidor/app_metadata.rb', linha 90

def Propósito
  @propósito
end

#server_api ➤ Hash | nil (somente leitura)

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Retorna a versão da API do servidor solicitado.

Esse hash pode ter os seguintes itens:

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

Retorna:

  • (Hash | nulo)

    A versão da API do servidor solicitado.

    Esse hash pode ter os seguintes itens:

    • :version -- string
    • :strict -- booleano
    • :deprecation_errors -- booleano

Desde:

  • 2.0.0



102
103
104
# Arquivo 'lib/mongo/ servidor/app_metadata.rb', linha 102

def server_api
  @server_api
end

#wrap_librariesArray<Hash> | nil (somente leitura)

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Retorna informações sobre bibliotecas encapsulando o driver.

Retorna:

  • (Array<Hash> | nil)

    Informações sobre bibliotecas que envolvem o driver.

Desde:

  • 2.0.0



106
107
108
# Arquivo 'lib/mongo/ servidor/app_metadata.rb', linha 106

def wrap_libraries
  @wrapping_libraries
end

Detalhes do método de instância

#client_documentBSON::Document

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Obtenha o BSON::Document a ser usado como valor para a chave client no documento de handshake.

Retorna:

  • (BSON::Document)

    Documento que descreve o cliente para handshake.

Desde:

  • 2.0.0



126
127
128
129
130
131
132
133
134
135
136
# Arquivo 'lib/mongo/ servidor/app_metadata.rb', linha 126

def client_document
  @client_document ||=
    BSON::Documento.Novo.toque fazer |doc|
      doc[: aplicação] = { nome: @app_name } se @app_name
      doc[:driver] = driver_doc
      doc[:os] = os_doc
      doc[:platform] = platform_string
      doc[:backpressure] = true
      env_doc.toque { |env| doc[:env] = env se env }
    end
end

#validated_documentBSON::Document

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Obtenha os metadados como BSON::Documento a ser enviado como parte da negociação. O documento deve ser anexado a um comando de handshake adequado.

Este método garante que os metadados sejam válidos.

Retorna:

  • (BSON::Document)

    documento válido para a negociação da conexão.

Aumenta:

Desde:

  • 2.0.0



117
118
119
120
# Arquivo 'lib/mongo/ servidor/app_metadata.rb', linha 117

def validate_document
  validar!
  documento
end