Sha256: c0abf8ef4a3abea00ff5d99403054b34b2fe02cff266321141fed67809410949

Contents?: true

Size: 803 Bytes

Versions: 36

Compression:

Stored size: 803 Bytes

Contents

# frozen_string_literal: true

module DnsMock
  module Response
    class Message
      def initialize(
        packet,
        records,
        exception_if_not_found,
        dns_answer = DnsMock::Response::Answer,
        dns_message = ::Resolv::DNS::Message
      )
        @dns_answer = dns_answer.new(records, exception_if_not_found)
        @dns_message = dns_message.decode(packet)
      end

      def as_binary_string
        @as_binary_string ||= begin
          compose_answer
          dns_message.encode
        end
      end

      private

      attr_reader :dns_answer, :dns_message

      def compose_answer
        dns_message.each_question do |hostname, record_type|
          dns_message.answer.push(*dns_answer.build(hostname, record_type))
        end
      end
    end
  end
end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
dns_mock-1.6.2 lib/dns_mock/response/message.rb
dns_mock-1.6.1 lib/dns_mock/response/message.rb
dns_mock-1.6.0 lib/dns_mock/response/message.rb
dns_mock-1.5.18 lib/dns_mock/response/message.rb
dns_mock-1.5.17 lib/dns_mock/response/message.rb
dns_mock-1.5.16 lib/dns_mock/response/message.rb
dns_mock-1.5.15 lib/dns_mock/response/message.rb
dns_mock-1.5.14 lib/dns_mock/response/message.rb
dns_mock-1.5.13 lib/dns_mock/response/message.rb
dns_mock-1.5.12 lib/dns_mock/response/message.rb
dns_mock-1.5.11 lib/dns_mock/response/message.rb
dns_mock-1.5.10 lib/dns_mock/response/message.rb
dns_mock-1.5.9 lib/dns_mock/response/message.rb
dns_mock-1.5.8 lib/dns_mock/response/message.rb
dns_mock-1.5.7 lib/dns_mock/response/message.rb
dns_mock-1.5.6 lib/dns_mock/response/message.rb
dns_mock-1.5.5 lib/dns_mock/response/message.rb
dns_mock-1.5.4 lib/dns_mock/response/message.rb
dns_mock-1.5.3 lib/dns_mock/response/message.rb
dns_mock-1.5.2 lib/dns_mock/response/message.rb