lib/httpx/resolver/https.rb in httpx-0.22.2 vs lib/httpx/resolver/https.rb in httpx-0.22.3
- old
+ new
@@ -134,12 +134,25 @@
host, connection = @queries.first
@queries.delete(host)
emit_resolve_error(connection, connection.origin.host, e)
return
end
- if answers.nil? || answers.empty?
+
+ if answers.nil?
+ # Indicates no such domain was found.
+
host = @requests.delete(request)
connection = @queries.delete(host)
+
+ emit_resolve_error(connection) unless @queries.value?(connection)
+ elsif answers.empty?
+ # no address found, eliminate candidates
+ host = @requests.delete(request)
+ connection = @queries.delete(host)
+
+ # eliminate other candidates
+ @queries.delete_if { |_, conn| connection == conn }
+
emit_resolve_error(connection)
return
else
answers = answers.group_by { |answer| answer["name"] }