Sha256: 5bf4b39f4a206e5e6ec2ff9e1ec88cb53fb9aab5646f1eab9497986314f3a989

Contents?: true

Size: 526 Bytes

Versions: 5

Compression:

Stored size: 526 Bytes

Contents

# frozen_string_literal: true

module DoHClient
  module Client
    class Cloudflare < Base
      def endpoint
        "https://cloudflare-dns.com/dns-query"
      end

      def build_query(name, options)
        {
          name: name,
          type: options[:type],
          cd: options[:cd],
          do: options[:do]
        }.compact
      end

      def validate(query)
        super(query)
        raise ArgumentError, "do must be a boolean value" if query[:do] && !boolean?(query[:do])
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
doh_client-0.2.2 lib/doh_client/client/cloudflare.rb
doh_client-0.2.1 lib/doh_client/client/cloudflare.rb
doh_client-0.2.0 lib/doh_client/client/cloudflare.rb
doh_client-0.1.1 lib/doh_client/client/cloudflare.rb
doh_client-0.1.0 lib/doh_client/client/cloudflare.rb