Current section
Files
Jump to
Current section
Files
lib/example_server.ex
defmodule ServerExample do
@moduledoc """
Example implementing DNS.Server behaviour
"""
require Logger
@behaviour DNS.Server
use DNS.Server
def handle(record, _cl) do
Logger.info(fn -> "#{inspect(record)}" end)
query = hd(record.qdlist)
result =
case query.type do
:a -> {127, 0, 0, 1}
:cname -> 'your.domain.com'
:txt -> ['your txt value']
_ -> nil
end
resource = %DNS.Resource{
domain: query.domain,
class: query.class,
type: query.type,
ttl: 0,
data: result
}
%{record | anlist: [resource]}
end
end