summaryrefslogtreecommitdiff
path: root/src/mongo/client/mongo_uri.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/client/mongo_uri.cpp')
-rw-r--r--src/mongo/client/mongo_uri.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/mongo/client/mongo_uri.cpp b/src/mongo/client/mongo_uri.cpp
index 99468784adb..1a52948cc51 100644
--- a/src/mongo/client/mongo_uri.cpp
+++ b/src/mongo/client/mongo_uri.cpp
@@ -148,8 +148,8 @@ std::pair<StringData, StringData> partitionBackward(StringData str, const char c
* on multiple parsed option sources. STL setwise operations require sorted lists. A map is used
* instead of a vector of pairs to permit insertion-is-not-overwrite behavior.
*/
-std::map<std::string, std::string> parseOptions(StringData options, StringData url) {
- std::map<std::string, std::string> ret;
+MongoURI::OptionsMap parseOptions(StringData options, StringData url) {
+ MongoURI::OptionsMap ret;
if (options.empty()) {
return ret;
}
@@ -206,7 +206,7 @@ std::map<std::string, std::string> parseOptions(StringData options, StringData u
return ret;
}
-MongoURI::OptionsMap addTXTOptions(std::map<std::string, std::string> options,
+MongoURI::OptionsMap addTXTOptions(MongoURI::OptionsMap options,
const std::string& host,
const StringData url,
const bool isSeedlist) {
@@ -488,7 +488,8 @@ MongoURI MongoURI::parseImpl(const std::string& url) {
transport::ConnectSSLMode sslMode = transport::kGlobalSSLMode;
auto sslModeIter = std::find_if(options.begin(), options.end(), [](auto pred) {
- return pred.first == "ssl"_sd || pred.first == "tls"_sd;
+ return pred.first == CaseInsensitiveString("ssl") ||
+ pred.first == CaseInsensitiveString("tls");
});
if (sslModeIter != options.end()) {
const auto& val = sslModeIter->second;
@@ -565,7 +566,7 @@ std::string MongoURI::canonicalizeURIAsString() const {
auto delimeter = "";
uri << "?";
for (const auto& pair : _options) {
- uri << delimeter << uriEncode(pair.first) << "=" << uriEncode(pair.second);
+ uri << delimeter << uriEncode(pair.first.original()) << "=" << uriEncode(pair.second);
delimeter = "&";
}
}