Classe: Mongo::Server::AppMetadata Private

Herda:
Objeto
  • Objeto
mostrar tudo
Estendido por:
Encaminhável
Definido em:
build/ruby-driver-v2.19/lib/mongo/ servidor/app_metadata.rb,
build/ruby-driver-v2.19/lib/mongo/ servidor/app_metadata/platform.rb,
build/ruby-driver-v2.19/lib/mongo/ servidor/app_metadata/truncator.rb,
build/ruby-driver-v2.19/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,

when a new connection is established.

Desde:

  • 2.0.0

Subclasses conhecidas diretas

Monitorar::AppMetadata

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 nas versões do servidor >= 3.4.

  • :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 que devem ser incluídas nos metadados impressos nos registros do mongod ao estabelecer uma conexão nas versões do servidor >= 3.4.

  • :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 – boolean

    • :deprecation_errors – boolean

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



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'build/ruby-driver-v2.19/lib/mongo/ servidor/app_metadata.rb', linha 74

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



96
97
98
# File 'build/ruby-driver-v2.19/lib/mongo/ servidor/app_metadata.rb', linha 96

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



92
93
94
# File 'build/ruby-driver-v2.19/lib/mongo/ servidor/app_metadata.rb', linha 92

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.

O hash pode ter os seguintes itens:

  • :version – string

  • :strict – boolean

  • :deprecation_errors – booleano.

Retorna:

  • (Hash | nulo)

    A versão da API do servidor solicitado.

    O hash pode ter os seguintes itens:

    • :version – string

    • :strict – boolean

    • :deprecation_errors – boolean

Desde:

  • 2.0.0



104
105
106
# File 'build/ruby-driver-v2.19/lib/mongo/ servidor/app_metadata.rb', linha 104

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



108
109
110
# File 'build/ruby-driver-v2.19/lib/mongo/ servidor/app_metadata.rb', linha 108

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 ' cliente' no documento de negociação.

Retorna:

  • (BSON::Document)

    Documento que descreve o cliente para handshake.

Desde:

  • 2.0.0



128
129
130
131
132
133
134
135
136
137
# File 'build/ruby-driver-v2.19/lib/mongo/ servidor/app_metadata.rb', linha 128

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
      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



119
120
121
122
# File 'build/ruby-driver-v2.19/lib/mongo/ servidor/app_metadata.rb', linha 119

def validate_document
  validar!
  documento
end