Actions
Feature #14771
openAdd method to create DNS resource from data string
Status:
Open
Assignee:
-
Target version:
-
Description
I recently played around with DNS over HTTPS.
I found that it's a little bit tricky to generate the appropriate resource using the Resolv::DNS::Resource hierarchy.
Here is what my code ended up:
if klass = Resolv::DNS::Resource.get_class(answer["type"], resource_class::ClassValue)
if klass < Resolv::DNS::Resource::DomainName
resource = klass.new(Resolv::DNS::Name.create(answer["data"]))
else
resource = klass.new(answer["data"])
end
It would be nice to have a simpler interface, e.g.
if klass = Resolv::DNS::Resource.get_class(answer["type"], resource_class::ClassValue)
klass.create(answer["data"])
end
In this case, the Resource#create
method would take a data string and convert it to a name if required.
The base resource class could just have alias create new
, while the DomainName
class could have:
def create(data)
self.new(Name.create(data))
end
Or something like that.
Actions
Like0
Like0Like0Like0