Class: Kward::CodeSearch::NetHttpClient
- Inherits:
-
Object
- Object
- Kward::CodeSearch::NetHttpClient
- Defined in:
- lib/kward/tools/search/code.rb
Overview
HTTP adapter used by code search registry/package lookups.
Instance Method Summary collapse
Instance Method Details
#get_json(url, headers: {}) ⇒ Object
54 55 56 |
# File 'lib/kward/tools/search/code.rb', line 54 def get_json(url, headers: {}) JSON.parse(get_text(url, headers: headers.merge("Accept" => "application/json"))) end |
#get_text(url, headers: {}) ⇒ Object
58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/kward/tools/search/code.rb', line 58 def get_text(url, headers: {}) uri = URI(url) request = Net::HTTP::Get.new(uri) request["User-Agent"] = "Kward code_search" headers.each { |key, val| request[key] = val } response = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == "https", open_timeout: HTTP_TIMEOUT_SECONDS, read_timeout: HTTP_TIMEOUT_SECONDS) do |http| http.request(request) end raise "HTTP #{response.code} from #{uri.host}" unless response.is_a?(Net::HTTPSuccess) response.body end |