Clase: Mongo::URI
- Hereda:
-
Objeto
- Objeto
- Mongo::URI
- Incluye:
- Address::Validator, Loggable
- Definido en:
- lib/mongo/uri.rb,
lib/mongo/uri/srv_protocol.rb,
lib/mongo/uri/options_mapper.rb
Overview
La clase URI proporciona una forma para que los usuarios analicen el uri de MongoDB tal como se define en la especificación del formato de la cadena de conexión.
Subclases conocidas directas
Definido en el espacio de nombres
Clases: Mapeador de opciones, Protocolo SRV
Colapso delresumen constante
- ESQUEMA =
Obsoleto.
Se eliminará en 3.0.
El esquema de cadena de conexión de mongodb.
'mongodb://'.freeze
- ESQUEMA MONGODB =
La raíz del esquema de cadena de conexión de mongodb.
'mongodb'.freeze
- ESQUEMA_SRV_MONGODB =
El esquema de la cadena de conexión del protocolo srv de mongodb.
'mongodb+srv'.freeze
- ESQUEMA INVÁLIDO =
Obsoleto.
Detalles del error para un esquema no válido.
"Esquemano válido. El esquema debe ser' #{MONGODB_SCHEME} ' o' #{MONGODB_SRV_SCHEME} ' ".freeze
- FORMATO =
Especificación del formato URI de MongoDB.
'mongodb://[nombre de usuario:contraseña@]host[:puerto][,host[:puerto]11'22 + ',...[,hostN[:portN]]][/[database][?options]]'.freeze
- AYUDA =
URL de la documentación de la URI (cadena de conexión) de MongoDB
'https://www.mongodb.com/es/docs/manual/reference/connection-string/ '.freeze
- INSEGURO =
Caracteres inseguros que deben codificarse en URL.
/[\:\/\@]/- PORCENTAJE_CARACTER =
Signo de porcentaje que debe codificarse en las credenciales del usuario.
/\%/- SOCKET_UNIX =
Sufijo de socket Unix.
/.sock/- DELIM_HOST =
El carácter que delimita los anfitriones.
','.freeze
- DELIM_PUERTO_HOST =
El carácter que separa un host y un puerto.
':'.freeze
- DELIM_DE_BASE_DE_DATOS =
El carácter que delimita una base de datos.
'/'.freeze
- URI_OPTS_DELIM =
Las opciones que delimitan caracteres.
'?'.freeze
- INDIV_URI_OPTS_DELIM =
Obsoleto.
El carácter que delimita múltiples opciones.
'&'.freeze
- URI_OPTS_VALUE_DELIM =
El carácter que delimita una opción y su valor.
'='.freeze
- DELIM CONTRASEÑA DE USUARIO DE AUTORIZACIÓN =
El carácter que separa el nombre de usuario de la contraseña.
':'.freeze
- DELIM_AUTORIZACIÓN =
El carácter que delimita las credenciales de autenticación.
'@'.freeze
- SCHEME_DELIM =
Delimitador de esquema.
'://'.freeze
- DELIM_VALOR_OPCIONES_INVÁLIDOS =
Detalles del error para un formato de opciones no válido.
"Lasopciones y sus valores deben estardelimitados" + " por '#{URI_OPTS_VALUE_DELIM} ' ".freeze
- CONTRASEÑA DE USUARIO SIN ESCAPAR =
Detalles del error para un nombre de usuario o contraseña no codificados en URL.
"Elnombre de usuario y la contraseña deben estar codificados enURL"..freeze
- SOCKET UNIX SIN ESCAPAR =
Detalles del error para una ruta de socket Unix sin codificación URL.
"Lossockets de dominio UNIX deben estar codificados enURL"..freeze
- BASE DE DATOS SIN ESCAPAR =
Detalles del error para un nombre de base de datos de autenticación sin codificación URL.
"Labase de datos de autenticación debe estar codificada enURL"..freeze
- DELIM_OPCIONES_INVÁLIDAS =
Detalles del error al proporcionar opciones sin un delimitador de base de datos.
"El delimitador de base de datos '#{DATABASE_DELIM}' debe estar presente si se especifican opciones.".freeze
- HOST INVÁLIDO =
Detalles del error de un host faltante.
"Faltaun host; se debe proporcionar al menosuno.".freeze
- PUERTO INVÁLIDO =
Detalles del error para un puerto no válido.
"Puertono válido. El puerto debe ser un número entero mayor que 0 y menor que 65536".freeze
- READ_MODE_MAP =
Mapa de los modos de preferencia de lectura de URI a los modos de preferencia de lectura del controlador Ruby
{ 'primario ' => :primario, 'primario preferido' => :primary_preferred, 'secundario' => :secundario, 'secundariopreferido' => :secundario_preferido, 'más cercano' => :más cercano }.freeze
- MAPA_MECÁNICO_DE_AUTORIZACIÓN =
Mapa de mecanismos de autenticación de URI a mecanismos de controlador Ruby
{ 'GSSAPI' => :gssapi, 'MONGODB-AWS' => :aws, # MONGODB-CR está obsoleto y se eliminará en la versión del controlador 3.0 'MONGODB-CR' => :mongodb_cr, 'MONGODB-X509' => :mongodb_x509, 'PLAIN' => :plano, 'LARGA-SHA-1 ' => :largarse, 'LARGA-SHA-256 ' => :scram256, }.freeze
- OPCIONES REPETIBLES =
Opciones que pueden aparecer más de una vez en la URI.
Para cumplir con el requisito de la especificación de opciones de URI de que todas las instancias de "tls" y "ssl" tengan el mismo valor, debemos registrar todos los valores pasados para dichas opciones. Si no entran en conflicto, se condensarán en un único valor inmediatamente después de analizar la URI.
[ :conjuntos de etiquetas, :ssl ]
Constantes incluidas desde Loggable
Colapso delresumen de atributos de instancia
-
#opciones ⇒ Objeto
solo lectura
Las opciones del objeto analizador URI.
-
#servidores ⇒ Objeto
solo lectura
Los servidores especificados en la URI.
-
#uri_options ⇒ Objeto
solo lectura
Mongo::Options::Redacted de las opciones especificadas en la URI.
Colapso delresumen del método de clase
-
.get(string, opts = {}) ⇒ URI, URI::SRVProtocol
Obtenga un objeto URI o un objeto URI SRVProtocol.
Colapso del resumen del método de instancia
-
#opciones_del_cliente ⇒ Mongo::Opciones::Redactado
Obtiene el hash de opciones que se debe pasar a un Mongo::Client en la instanciación, por lo que no tenemos que fusionar las credenciales y la base de datos en ese punto: solo tenemos un único punto aquí.
-
#credenciales ⇒ Hash
Obtenga las credenciales proporcionadas en la URI.
-
#database ⇒ String
Obtenga la base de datos proporcionada en la URI.
-
#inicializar(cadena, opciones = {}) ⇒ URI
constructor
Crea la nueva URI a partir de la cadena proporcionada.
- #srv_records ⇒ Objeto
-
#to_s ⇒ Cadena
Obtén el uri como una string.
Métodos incluidos en Address::Validator
Métodos incluidos en Loggable
#log_debug, #log_error, #log_fatal, #log_info, #log_warn, #logger
Detalles del constructor
#inicializar(cadena, opciones = {}) ⇒ URI
Crea la nueva URI a partir de la cadena proporcionada.
284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 |
# Archivo 'lib/mongo/uri.rb', línea 284 def inicializar(string, = {}) a no ser que string propagar Error::InvalidURI.Nuevo(string, 'URI debe ser una cadena, no nula.') end Si string.¿vacío? propagar Error::InvalidURI.Nuevo(string, 'Nose puede analizar una URI vacía.') end @cadena = string @opciones = esquema analizado, _, restantes = string.dividir(ESQUEMA_DELIM) a no ser que esquema analizado == esquema raise_invalid_error!("Esquema inválido '#{parsed_scheme}'. El esquema debe ser '#{MONGODB_SCHEME}'. Utilice URI#get para analizar los URI SRV.") end Si restantes.¿vacío? raise_invalid_error!('No hay hosts en la URI') end parse!(restantes) end |
Detalles de los atributos de instancia
#opciones ⇒ Objeto (solo lectura)
Las opciones del objeto analizador URI.
39 40 41 |
# Archivo 'lib/mongo/uri.rb', línea 39 def @opciones end |
#servidores ⇒ Objeto (solo lectura)
Los servidores especificados en la URI.
49 50 51 |
# Archivo 'lib/mongo/uri.rb', línea 49 def servidores @servidores end |
#uri_options ⇒ Objeto (solo lectura)
Mongo::Options::Redacted de las opciones especificadas en la URI.
44 45 46 |
# Archivo 'lib/mongo/uri.rb', línea 44 def @uri_options end |
Detalles del método de clase
.get(string, opts = {}) ⇒ URI, URI::SRVProtocol
Obtenga un objeto URI o un objeto URI SRVProtocol.
230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 |
# Archivo 'lib/mongo/uri.rb', línea 230 def yo.Obtener(string, opta = {}) a no ser que string propagar Error::InvalidURI.Nuevo(string, 'URI debe ser una cadena, no nula.') end Si string.¿vacío? propagar Error::InvalidURI.Nuevo(string, 'Nose puede analizar una URI vacía.') end esquema, _, _ = string.dividir(ESQUEMA_DELIM) caso esquema Cuando ESQUEMA MONGODB URI.Nuevo(string, opta) Cuando ESQUEMA MONGODB_SRV Protocolo SRV.Nuevo(string, opta) else propagar Error::InvalidURI.Nuevo(string, "Esquemano válido '#{scheme} '. El esquema debe ser' #{MONGODB_SCHEME} ' o '#{MONGODB_SRV_SCHEME} ' ") end end |
Detalles del método de instancia
#client_options ⇒ Mongo::Options::Redacted
Obtiene el hash de opciones que se debe pasar a un Mongo::Client en la instanciación, por lo que no tenemos que fusionar las credenciales y la base de datos en ese punto: solo tenemos un único punto aquí.
259 260 261 262 263 264 265 |
# Archivo 'lib/mongo/uri.rb', línea 259 def opta = .grifo hacer |opta| opta[:database] = @database Si @database end @usuario ? opta.unir(cartas credenciales) : opta end |
#credenciales ⇒ Hash
Obtenga las credenciales proporcionadas en la URI.
315 316 317 |
# Archivo 'lib/mongo/uri.rb', línea 315 def cartas credenciales { :usuario => @usuario, :contraseña => @password } end |
#database ⇒ String
Obtenga la base de datos proporcionada en la URI.
327 328 329 |
# Archivo 'lib/mongo/uri.rb', línea 327 def database @database ? @database : Database::ADMINISTRACIÓN end |
#srv_records ⇒ Objeto
267 268 269 |
# Archivo 'lib/mongo/uri.rb', línea 267 def registros_srv nulo end |
#to_s ⇒ Cadena
Obtén el uri como una string.
337 338 339 |
# Archivo 'lib/mongo/uri.rb', línea 337 def a_s reconstruir_uri end |