Class: Zap::Dns::Server

Inherits:
RubyDNS::Server
  • Object
show all
Defined in:
lib/zap/dns/server.rb

Constant Summary collapse

IN =
Resolv::DNS::Resource::IN

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.start(params = {}) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/zap/dns/server.rb', line 9

def start params={}
  @address = '127.0.0.1'
  @port    = params[:port]
  @port  ||= 35553
  @listen  = [ [:udp, @address,@port],[:tcp,@address,@port] ]
  @server_class = self
  @asynchronous = false
  @server  = RubyDNS::run_server  asynchronous: @asynchronous,
                                  server_class: @server_class,
                                  listen:       @listen
end

Instance Method Details

#process(name, rc, transaction) ⇒ Object



21
22
23
24
25
# File 'lib/zap/dns/server.rb', line 21

def process name, rc, transaction
  result = "127.0.0.1" if rc == IN::A
  result = "::1"       if rc == IN::AAAA
  transaction.respond!(result) 
end