Classe: Mongo::URI
- Herda:
-
Objeto
- Objeto
- Mongo::URI
- Inclui:
- Endereço::Validator, Loggable
- Definido em:
- build/ruby-driver-v2.19/lib/mongo/uri.rb,
build/ruby-driver-v2.19/lib/mongo/uri/srv_protocol.rb,
build/ruby-driver-v2.19/lib/mongo/uri/options_mapper.rb
Visão geral
A classe URI fornece uma maneira de os usuários analisarem o uri do MongoDB conforme definido na especificação do formato da connection string.
Www.mongodb.com/pt-br/docs/manual/reference/connection-string/
Subclasses conhecidas diretas
Definido sob namespace
Classes: OptionsMapper, SRVProtocol
Colapsode resumo constante
- ESQUEMA =
Obsoleto.
Será removido em 3.0.
O MongoDB string esquema de connection do .
'MongoDB://'.congelar
- MONGODB_SCHEME =
A MongoDB raiz do esquema string de connection do .
'mongodb'.congelar
- MONGODB_SRV_SCHEME =
A MongoDB string raiz do esquema de connection do protocolo srv.
'mongodb+srv'.congelar
- INVALID_SCHEME =
Obsoleto.
Detalhes de erro para um esquema inválido.
"Esquema inválido. O esquema deve ser '#{MONGODB_SCHEME}' ou '#{MONGODB_SRV_SCHEME}'".congelar
- FORMATO =
Especificação de formato URI MongoDB.
'MongoDB://[username:password@]host1[:port1][,host2[:port2]' + ',...[,hostN[:portN]]][/[database][?options]]'.congelar
- AJUDA =
URL de documentação do MongoDB URI (connection string)
'https://www.mongodb.com/pt-br/docs/manual/reference/connection-string/'.congelar
- NÃO SEGURO =
Caracteres não seguros que devem ser codificados em URL.
/[\:\/\@]/
- PERCENT_CHAR =
Sinal de porcentagem que deve ser codificado nas credenciais do usuário.
/\%/
- UNIX_SOCKET =
Sufixo de soquete Unix.
/.sock/
- HOST_DELIM =
Os hosts delimitadores de caracteres.
','.congelar
- HOST_PORT_DELIM =
O caractere que separa um host e uma porta.
':'.congelar
- DATABASE_DELIM =
O caractere delimitando um banco de dados.
'/'.congelar
- URI_OPTS_DELIM =
As opções de delimitação de caracteres.
'?'.congelar
- INDIV_URI_OPTS_DELIM =
Obsoleto.
O caractere delimitando várias opções.
'&'.congelar
- URI_OPTS_VALUE_DELIM =
O caractere delimitando uma opção e seu valor.
'='.congelar
- AUTH_USER_PWS_DELIM =
O caractere que separa um nome de usuário da senha.
':'.congelar
- AUTH_DELIM =
Os caracteres que delimitam as credenciais de autenticação.
'@'.congelar
- SCHEME_DELIM =
Delimitador de esquema.
'://'.congelar
- INVALID_OPTS_VALUE_DELIM =
Detalhes de erro para um formato de opções inválido.
"As opções e seus valores devem ser delimitados" + " por '#{URI_OPTS_VALUE_DELIM}'".congelar
- UNESCAPED_USER_PWD =
Detalhes de erro para um nome de usuário ou senha sem código URL.
"O nome de usuário e a senha devem ser codificados em URL.".congelar
- UNESCAPED_UNIX_SOCKET =
Detalhes de erro para um caminho de soquete unix sem código URL.
"Os soquetes de domínio UNIX devem ser codificados com URL.".congelar
- UNESCAPED_DATABASE =
Detalhes de erro para um nome de banco de dados de autenticação não codificado por URL.
"O banco de dados de autenticação deve ser codificado como URL.".congelar
- INVALID_OPTS_DELIM =
Detalhes de erro por fornecer opções sem um delimitador de banco de dados.
"O delimitador de banco de dados '#{DATABASE_DELIM}' deve estar presente se as opções forem especificadas.".congelar
- INVALID_HOST =
Detalhes de erro para um host ausente.
"Host ausente; pelo menos um deve ser fornecido.".congelar
- INVALID_PORT =
Detalhes de erro para uma porta inválida.
"Porta inválida. A porta deve ser um número inteiro maior que 0 e menor que 65536".congelar
- READ_MODE_MAP =
Mapa de modos de leitura de URI para modos de leitura de driver Ruby
{ 'primary' => :primary, 'primarypreferred' => :primary_preferred, 'secundário' => :secondary, 'secondarypreferred' => :secondary_preferred, 'mais próximo' => :mais próximo }.congelar
- AUTH_MECH_MAP =
Mapa de mecanismos de autenticação URI para mecanismos de driver Ruby
{ 'GSSAPI' => :gssapi, 'MONGODB-AWS' => :aws, # O MONGODB-CR está obsoleto e será removido na versão do driver 3.0 'MONGODB-CR' => :mongodb_cr, 'MONGODB-X509' => :mongodb_x509, 'PLAIN' => :plain, 'SCRAM-SHA-1' => :scram, 'SCRAM-SHA-256' => :scram256, }.congelar
- REPEATABLE_OPTIONS =
Opções que podem aparecer mais de uma vez no uri.
Para seguir o requisito específico das opções de URI de que todas as instâncias de 'tls' e 'ssl' tenham o mesmo valor, precisamos acompanhar todos os valores passados para essas opções. Supondo que não entrem em conflito, serão condensadas em um único valor imediatamente após a análise do URI.
[ :tag_sets, :ssl ]
Constantes incluídas do Loggable
Recolhimento do Resumo do atributo de instância
-
#opções ➤ Objeto
Somente leitura
As opções de objeto do analisador uri.
-
#servidores ➤ Objeto
Somente leitura
Os servidores especificados no uri.
-
#uri_options ➤ Objeto
Somente leitura
Mongo::Options::editado das opções especificadas no uri.
Recolhimento do Resumo do método de classe
-
.get(string, opts = {}) ➤ URI, URI::SRVProtocol
Obtenha um objeto URI ou um objeto SRVProtocol URI .
Recolhimento do Resumo do método de instância
-
#client_options ➤ Mongo::Options::Redacted
Obtém o hash de opções que precisa ser passado para um Mongo::Client na instanciação, para que não precisemos mesclar as credenciais e o banco de dados nesse ponto - só temos um único ponto aqui.
-
#credenciais ➤ Hash
Obtenha as credenciais fornecidas no URI.
-
#banco de dados ➤ string
Obtenha o banco de dados fornecido no URI.
-
#inicializar(string, opções = {}) ➤ URI
construtor
Crie o novo uri a partir da string fornecida.
- #srv_records ➤ Objeto
-
#to_s ➤ string
Obtenha o uri como uma string.
Métodos incluídos de Address::Validator
Métodos incluídos no Loggable
#log_debug, #log_error, #log_fatal, #log_info, #log_WARN, #logger
Detalhes do construtor
#inicializar(string, opções = {}) ➤ URI
Crie o novo uri a partir da string fornecida.
284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 |
# File 'build/ruby-driver-v2.19/lib/mongo/uri.rb', linha 284 def inicializar(string, = {}) a menos que string aumentar Erro::URL inválida.Novo(string, ' OURI deve ser uma string, não nula.') end se string.vazio? aumentar Erro::URL inválida.Novo(string, 'Não é possível analisar um URI vazio.') end @string = string @opções = parsed_scheme, _, restante = string.Partição(SCHEME_DELIM) a menos que parsed_scheme == Esquema create_invalid_error!("Esquema inválido '#{parsed_scheme}'. O esquema deve ser '#{MONGODB_SCHEME}'. Use URI#get para analisar URIs SRV.") end se restante.vazio? create_invalid_error!('Nenhum host no URI') end análise!(restante) end |
Detalhes do atributo da instância
#opções Objeto (somente leitura)
As opções de objeto do analisador uri.
39 40 41 |
# File 'build/ruby-driver-v2.19/lib/mongo/uri.rb', linha 39 def @opções end |
#servidores ➤ Objeto (somente leitura)
Os servidores especificados no uri.
49 50 51 |
# File 'build/ruby-driver-v2.19/lib/mongo/uri.rb', linha 49 def Servidores @servidores end |
#uri_options ➤ Objeto (somente leitura)
Mongo::Options::editado das opções especificadas no uri.
44 45 46 |
# File 'build/ruby-driver-v2.19/lib/mongo/uri.rb', linha 44 def @uri_options end |
Detalhes do método de classe
.get(string, opts = {}) ➤ URI, URI::SRVProtocol
Obtenha um objeto URI ou um objeto SRVProtocol URI .
230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 |
# File 'build/ruby-driver-v2.19/lib/mongo/uri.rb', linha 230 def auto.obter(string, opciona = {}) a menos que string aumentar Erro::URL inválida.Novo(string, ' OURI deve ser uma string, não nula.') end se string.vazio? aumentar Erro::URL inválida.Novo(string, 'Não é possível analisar um URI vazio.') end Esquema, _, _ = string.Partição(SCHEME_DELIM) caso Esquema quando MONGODB_SCHEME URI.Novo(string, opciona) quando MONGODB_SRV_SCHEME Protocolo SRV.Novo(string, opciona) mais aumentar Erro::URL inválida.Novo(string, "Esquema inválido '#{schema}'. O esquema deve ser '#{MONGODB_SCHEME}' ou '#{MONGODB_SRV_SCHEME}'") end end |
Detalhes do método de instância
#client_options ➤ Mongo::Options::Redacted
Obtém o hash de opções que precisa ser passado para um Mongo::Client na instanciação, para que não precisemos mesclar as credenciais e o banco de dados nesse ponto - só temos um único ponto aqui.
259 260 261 262 263 264 265 |
# File 'build/ruby-driver-v2.19/lib/mongo/uri.rb', linha 259 def opciona = .toque fazer |opciona| opciona[:database] = @database se @database end @user ? opciona.mesclar(credenciais) : opciona end |
#credenciais ➤ Hash
Obtenha as credenciais fornecidas no URI.
315 316 317 |
# File 'build/ruby-driver-v2.19/lib/mongo/uri.rb', linha 315 def credenciais { : user => @user, :password => @senha } end |
#banco de dados ➤ string
Obtenha o banco de dados fornecido no URI.
327 328 329 |
# File 'build/ruby-driver-v2.19/lib/mongo/uri.rb', linha 327 def database @database ? @database : Database::ADMIN end |
#srv_records ➤ Objeto
267 268 269 |
# File 'build/ruby-driver-v2.19/lib/mongo/uri.rb', linha 267 def srv_records nada end |
#to_s ➤ string
Obtenha o uri como uma string.
337 338 339 |
# File 'build/ruby-driver-v2.19/lib/mongo/uri.rb', linha 337 def to_s reconstruct_uri end |