Class: Latte::Response
Defined Under Namespace
Classes: Answer, BigEndianRecord, Question, RecordParser, ResponseHeader
Instance Method Summary
collapse
Instance Method Details
#add(record) ⇒ Object
178
179
180
181
182
183
|
# File 'lib/latte/response.rb', line 178
def add record
parser = RecordParser.new record
parser.execute
record = parser.record
answers << record
end
|
65
66
67
|
# File 'lib/latte/response.rb', line 65
def answers
@answers ||= [ ]
end
|
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
# File 'lib/latte/response.rb', line 40
def
ResponseHeader.new.tap { |h|
h.id = query.id
h.qr = 1 h.opcode = 0 h.aa = 0 h.tc = 0 h.rd = 0 h.ra = 0 h.rcode = 0 h.qdcount = 1 h.ancount = answers.size h.nscount = 0 h.arcount = 0 }
end
|
57
58
59
60
61
62
63
|
# File 'lib/latte/response.rb', line 57
def question
Question.new.tap { |q|
q.qname = query.qname
q.qtype = query.qtype
q.qclass = query.qclass
}
end
|
185
186
187
188
189
|
# File 'lib/latte/response.rb', line 185
def to_s
[ , question, *answers ].map { |part|
part.to_binary_s
}.join ''
end
|