Skip to content

Commit 50ea98d

Browse files
committed
fix: handle read preferences without tags
1 parent 9e4d569 commit 50ea98d

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

lib/mongo/url_parser.ex

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,10 @@ defmodule Mongo.UrlParser do
236236
end
237237
end
238238

239+
defp parse_tags([]) do
240+
[]
241+
end
242+
239243
defp parse_tags(tags) do
240244
tags
241245
|> String.split(",")

test/mongo/url_parser_test.exs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,15 @@ defmodule Mongo.UrlParserTest do
124124
]
125125
]
126126

127+
assert UrlParser.parse_url(url: "mongodb://seed1.domain.com:27017,seed2.domain.com:27017/db_name?readPreference=secondary&maxStalenessSeconds=30") == [
128+
database: "db_name",
129+
read_preference: %{mode: :secondary, max_staleness_ms: 30_000},
130+
seeds: [
131+
"seed1.domain.com:27017",
132+
"seed2.domain.com:27017"
133+
]
134+
]
135+
127136
assert UrlParser.parse_url(url: "mongodb://seed1.domain.com:27017,seed2.domain.com:27017/db_name?readPreference=weird&readPreferenceTags=dc:ny,rack:r&maxStalenessSeconds=30") == [
128137
database: "db_name",
129138
seeds: [

0 commit comments

Comments
 (0)