MongoDB C++ Driver  mongocxx-3.10.0
Classes | Public Member Functions | List of all members
mongocxx::v_noabi::uri Class Reference

Class representing a MongoDB connection string URI. More...

#include <uri.hpp>

Classes

struct  host
 A host. More...
 

Public Member Functions

 uri (bsoncxx::v_noabi::string::view_or_value uri_string=k_default_uri)
 Constructs a uri from an optional MongoDB URI string. More...
 
 uri (uri &&) noexcept
 Move constructs a uri.
 
urioperator= (uri &&) noexcept
 Move assigns a uri.
 
 ~uri ()
 Destroys a uri.
 
std::string auth_mechanism () const
 Returns the authentication mechanism from the uri. More...
 
std::string auth_source () const
 Returns the authentication source from the uri. More...
 
std::vector< hosthosts () const
 Returns the hosts from the uri. More...
 
std::string database () const
 Returns the database from the uri. More...
 
bsoncxx::v_noabi::document::view options () const
 Returns other uri options. More...
 
std::string password () const
 Returns the password from the uri. More...
 
mongocxx::v_noabi::read_concern read_concern () const
 Returns the read concern from the uri. More...
 
mongocxx::v_noabi::read_preference read_preference () const
 Returns the read preference from the uri. More...
 
std::string replica_set () const
 Returns the replica set specified in the uri. More...
 
bool ssl () const
 Returns the ssl parameter from the uri. More...
 
bool tls () const
 Returns the tls parameter from the uri. More...
 
std::string to_string () const
 Returns the uri in a string format. More...
 
std::string username () const
 Returns the supplied username from the uri. More...
 
mongocxx::v_noabi::write_concern write_concern () const
 Returns the write concern specified in the uri. More...
 
stdx::optional< stdx::string_view > appname () const
 Returns the value of the option "appname" if present in the uri. More...
 
stdx::optional< bsoncxx::v_noabi::document::viewauth_mechanism_properties () const
 Returns the value of the option "authMechanismProperties" if present in the uri. More...
 
stdx::optional< bsoncxx::v_noabi::document::viewcredentials ()
 Returns the value of the option credentials if present in the uri. More...
 
stdx::optional< std::int32_t > srv_max_hosts () const
 Returns the value of the option "srvMaxHosts" if present in the uri. More...
 
std::vector< stdx::string_view > compressors () const
 Returns the list of compressors present in the uri or an empty list if "compressors" was not present or contained no valid compressors. More...
 
stdx::optional< std::int32_t > connect_timeout_ms () const
 Returns the value of the option "connectTimeoutMS" if present in the uri. More...
 
stdx::optional< bool > direct_connection () const
 Returns the value of the option "directConnection" if present in the uri. More...
 
stdx::optional< std::int32_t > heartbeat_frequency_ms () const
 Returns the value of the option "heartbeatFrequencyMS" if present in the uri. More...
 
stdx::optional< std::int32_t > local_threshold_ms () const
 Returns the value of the option "localThresholdMS" if present in the uri. More...
 
stdx::optional< std::int32_t > max_pool_size () const
 Returns the value of the option "maxPoolSize" if present in the uri. More...
 
stdx::optional< bool > retry_reads () const
 Returns the value of the option "retryReads" if present in the uri. More...
 
stdx::optional< bool > retry_writes () const
 Returns the value of the option "retryWrites" if present in the uri. More...
 
stdx::optional< std::int32_t > server_selection_timeout_ms () const
 Returns the value of the option "serverSelectionTimeoutMS" if present in the uri. More...
 
stdx::optional< bool > server_selection_try_once () const
 Returns the value of the option "serverSelectionTryOnce" if present in the uri. More...
 
stdx::optional< std::int32_t > socket_timeout_ms () const
 Returns the value of the option "socketTimeoutMS" if present in the uri. More...
 
stdx::optional< bool > tls_allow_invalid_certificates () const
 Returns the value of the option "tlsAllowInvalidCertificates" if present in the uri. More...
 
stdx::optional< bool > tls_allow_invalid_hostnames () const
 Returns the value of the option "tlsAllowInvalidHostnames" if present in the uri. More...
 
stdx::optional< stdx::string_view > tls_ca_file () const
 Returns the value of the option "tlsCAFile" if present in the uri. More...
 
stdx::optional< stdx::string_view > tls_certificate_key_file () const
 Returns the value of the option "tlsCertificateKeyFile" if present in the uri. More...
 
stdx::optional< stdx::string_view > tls_certificate_key_file_password () const
 Returns the value of the option "tlsCertificateKeyFilePassword" if present in the uri. More...
 
stdx::optional< bool > tls_disable_certificate_revocation_check () const
 Returns the value of the option "tlsDisableCertificateRevocationCheck" if present in the uri. More...
 
stdx::optional< bool > tls_disable_ocsp_endpoint_check () const
 Returns the value of the option "tlsDisableOCSPEndpointCheck" if present in the uri. More...
 
stdx::optional< bool > tls_insecure () const
 Returns the value of the option "tlsInsecure" if present in the uri. More...
 
stdx::optional< std::int32_t > wait_queue_timeout_ms () const
 Returns the value of the option "waitQueueTimeoutMS" if present in the uri. More...
 
stdx::optional< std::int32_t > zlib_compression_level () const
 Returns the value of the option "zlibCompressionLevel" if present in the uri. More...
 

Detailed Description

Class representing a MongoDB connection string URI.

Todo:
CXX-2038 Use optionals for all option getters. Otherwise users cannot distinguish between a case of an empty option explicitly present in the URI and the option being omitted. Also change getters that return a std::string to return a string_view since a copy is not necessary.
See also
https://www.mongodb.com/docs/manual/reference/connection-string/
https://mongoc.org/libmongoc/current/mongoc_uri_t.html for more information on supported URI options.

Constructor & Destructor Documentation

◆ uri()

mongocxx::v_noabi::uri::uri ( bsoncxx::v_noabi::string::view_or_value  uri_string = k_default_uri)

Constructs a uri from an optional MongoDB URI string.

If no URI string is specified, uses the default URI string, 'mongodb://localhost:27017'.

See also
The documentation for the version of libmongoc used for the list of supported URI options. For the latest libmongoc release: https://mongoc.org/libmongoc/current/mongoc_uri_t.html
Parameters
uri_stringString representing a MongoDB connection string URI, defaults to k_default_uri.

Member Function Documentation

◆ appname()

stdx::optional<stdx::string_view> mongocxx::v_noabi::uri::appname ( ) const

Returns the value of the option "appname" if present in the uri.

Returns
An optional stdx::string_view

◆ auth_mechanism()

std::string mongocxx::v_noabi::uri::auth_mechanism ( ) const

Returns the authentication mechanism from the uri.

Returns
A string representing the authentication mechanism.

◆ auth_mechanism_properties()

stdx::optional<bsoncxx::v_noabi::document::view> mongocxx::v_noabi::uri::auth_mechanism_properties ( ) const

Returns the value of the option "authMechanismProperties" if present in the uri.

Returns
An optional bsoncxx::v_noabi::document::view

◆ auth_source()

std::string mongocxx::v_noabi::uri::auth_source ( ) const

Returns the authentication source from the uri.

Returns
A string representing the authentication source.

◆ compressors()

std::vector<stdx::string_view> mongocxx::v_noabi::uri::compressors ( ) const

Returns the list of compressors present in the uri or an empty list if "compressors" was not present or contained no valid compressors.

Returns
A std::vector of stdx::string_view.

◆ connect_timeout_ms()

stdx::optional<std::int32_t> mongocxx::v_noabi::uri::connect_timeout_ms ( ) const

Returns the value of the option "connectTimeoutMS" if present in the uri.

Returns
An optional std::int32_t

◆ credentials()

stdx::optional<bsoncxx::v_noabi::document::view> mongocxx::v_noabi::uri::credentials ( )

Returns the value of the option credentials if present in the uri.

Returns
An optional bsoncxx::v_noabi::document::view

◆ database()

std::string mongocxx::v_noabi::uri::database ( ) const

Returns the database from the uri.

Returns
A string with the name of the database.

◆ direct_connection()

stdx::optional<bool> mongocxx::v_noabi::uri::direct_connection ( ) const

Returns the value of the option "directConnection" if present in the uri.

Returns
An optional bool

◆ heartbeat_frequency_ms()

stdx::optional<std::int32_t> mongocxx::v_noabi::uri::heartbeat_frequency_ms ( ) const

Returns the value of the option "heartbeatFrequencyMS" if present in the uri.

Returns
An optional std::int32_t

◆ hosts()

std::vector<host> mongocxx::v_noabi::uri::hosts ( ) const

Returns the hosts from the uri.

Returns
A vector of hosts.

◆ local_threshold_ms()

stdx::optional<std::int32_t> mongocxx::v_noabi::uri::local_threshold_ms ( ) const

Returns the value of the option "localThresholdMS" if present in the uri.

Returns
An optional std::int32_t

◆ max_pool_size()

stdx::optional<std::int32_t> mongocxx::v_noabi::uri::max_pool_size ( ) const

Returns the value of the option "maxPoolSize" if present in the uri.

Returns
An optional std::int32_t

◆ options()

bsoncxx::v_noabi::document::view mongocxx::v_noabi::uri::options ( ) const

Returns other uri options.

Note, options are returned in the case they were presented. The URI mongodb://localhost/?appName=abc will return { "appName": "abc" } The URI mongodb://localhost/?appname=abc will return { "appname": "abc" }

Returns
A document view containing other options.

◆ password()

std::string mongocxx::v_noabi::uri::password ( ) const

Returns the password from the uri.

Returns
A string containing the supplied password.

◆ read_concern()

mongocxx::v_noabi::read_concern mongocxx::v_noabi::uri::read_concern ( ) const

Returns the read concern from the uri.

Returns
A read_concern that represents what was specified in the uri.

◆ read_preference()

mongocxx::v_noabi::read_preference mongocxx::v_noabi::uri::read_preference ( ) const

Returns the read preference from the uri.

Returns
A read_preference that represents what was specified in the uri.

◆ replica_set()

std::string mongocxx::v_noabi::uri::replica_set ( ) const

Returns the replica set specified in the uri.

Returns
A string representing the supplied replica set name.

◆ retry_reads()

stdx::optional<bool> mongocxx::v_noabi::uri::retry_reads ( ) const

Returns the value of the option "retryReads" if present in the uri.

Returns
An optional bool

◆ retry_writes()

stdx::optional<bool> mongocxx::v_noabi::uri::retry_writes ( ) const

Returns the value of the option "retryWrites" if present in the uri.

Returns
An optional bool

◆ server_selection_timeout_ms()

stdx::optional<std::int32_t> mongocxx::v_noabi::uri::server_selection_timeout_ms ( ) const

Returns the value of the option "serverSelectionTimeoutMS" if present in the uri.

Returns
An optional std::int32_t

◆ server_selection_try_once()

stdx::optional<bool> mongocxx::v_noabi::uri::server_selection_try_once ( ) const

Returns the value of the option "serverSelectionTryOnce" if present in the uri.

Returns
An optional bool

◆ socket_timeout_ms()

stdx::optional<std::int32_t> mongocxx::v_noabi::uri::socket_timeout_ms ( ) const

Returns the value of the option "socketTimeoutMS" if present in the uri.

Returns
An optional std::int32_t

◆ srv_max_hosts()

stdx::optional<std::int32_t> mongocxx::v_noabi::uri::srv_max_hosts ( ) const

Returns the value of the option "srvMaxHosts" if present in the uri.

Returns
An optional std::int32_t

◆ ssl()

bool mongocxx::v_noabi::uri::ssl ( ) const

Returns the ssl parameter from the uri.

Returns
Boolean that is true if ssl is enabled and false if not.
Deprecated:
The tls() method should be used instead of this method.

◆ tls()

bool mongocxx::v_noabi::uri::tls ( ) const

Returns the tls parameter from the uri.

Returns
Boolean that is true if tls is enabled and false if not.

◆ tls_allow_invalid_certificates()

stdx::optional<bool> mongocxx::v_noabi::uri::tls_allow_invalid_certificates ( ) const

Returns the value of the option "tlsAllowInvalidCertificates" if present in the uri.

Returns
An optional bool

◆ tls_allow_invalid_hostnames()

stdx::optional<bool> mongocxx::v_noabi::uri::tls_allow_invalid_hostnames ( ) const

Returns the value of the option "tlsAllowInvalidHostnames" if present in the uri.

Returns
An optional bool

◆ tls_ca_file()

stdx::optional<stdx::string_view> mongocxx::v_noabi::uri::tls_ca_file ( ) const

Returns the value of the option "tlsCAFile" if present in the uri.

Returns
An optional stdx::string_view

◆ tls_certificate_key_file()

stdx::optional<stdx::string_view> mongocxx::v_noabi::uri::tls_certificate_key_file ( ) const

Returns the value of the option "tlsCertificateKeyFile" if present in the uri.

Returns
An optional stdx::string_view

◆ tls_certificate_key_file_password()

stdx::optional<stdx::string_view> mongocxx::v_noabi::uri::tls_certificate_key_file_password ( ) const

Returns the value of the option "tlsCertificateKeyFilePassword" if present in the uri.

Returns
An optional stdx::string_view

◆ tls_disable_certificate_revocation_check()

stdx::optional<bool> mongocxx::v_noabi::uri::tls_disable_certificate_revocation_check ( ) const

Returns the value of the option "tlsDisableCertificateRevocationCheck" if present in the uri.

Returns
An optional bool

◆ tls_disable_ocsp_endpoint_check()

stdx::optional<bool> mongocxx::v_noabi::uri::tls_disable_ocsp_endpoint_check ( ) const

Returns the value of the option "tlsDisableOCSPEndpointCheck" if present in the uri.

Returns
An optional bool

◆ tls_insecure()

stdx::optional<bool> mongocxx::v_noabi::uri::tls_insecure ( ) const

Returns the value of the option "tlsInsecure" if present in the uri.

Returns
An optional bool

◆ to_string()

std::string mongocxx::v_noabi::uri::to_string ( ) const

Returns the uri in a string format.

Returns
A string with the uri.

◆ username()

std::string mongocxx::v_noabi::uri::username ( ) const

Returns the supplied username from the uri.

Returns
A string with the username specified in the uri.

◆ wait_queue_timeout_ms()

stdx::optional<std::int32_t> mongocxx::v_noabi::uri::wait_queue_timeout_ms ( ) const

Returns the value of the option "waitQueueTimeoutMS" if present in the uri.

Returns
An optional std::int32_t

◆ write_concern()

mongocxx::v_noabi::write_concern mongocxx::v_noabi::uri::write_concern ( ) const

Returns the write concern specified in the uri.

Returns
A write_concern that represents what was specified in the uri.

◆ zlib_compression_level()

stdx::optional<std::int32_t> mongocxx::v_noabi::uri::zlib_compression_level ( ) const

Returns the value of the option "zlibCompressionLevel" if present in the uri.

Returns
An optional std::int32_t

The documentation for this class was generated from the following file: