Class: DoHClient::Client::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/doh_client/client/request.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.get(url, query) ⇒ Object



12
13
14
# File 'lib/doh_client/client/request.rb', line 12

def self.get(url, query)
  new.get(url, query);
end

Instance Method Details

#get(url, query) ⇒ Object

Raises:



6
7
8
9
10
# File 'lib/doh_client/client/request.rb', line 6

def get(url, query)
  res = http.headers(headers).get(url, params: query);
  return JSON.parse(res.body.to_s) if res.code == 200
  raise ResponseError, res.body.to_s
end

#headersObject



16
17
18
19
20
21
# File 'lib/doh_client/client/request.rb', line 16

def headers
  {
    accept: "application/dns-json",
    user_agent: "curl/7.54.0"
  }
end

#httpObject



23
24
25
26
27
28
29
30
# File 'lib/doh_client/client/request.rb', line 23

def http
  if proxy = ENV["HTTPS_RPOXY"] || ENV["https_proxy"]
    uri = URI(proxy)
    HTTP.via(uri.hostname, uri.port)
  else
    HTTP
  end
end