Class: Kward::WebSearch::NetHttpClient
- Inherits:
-
Object
- Object
- Kward::WebSearch::NetHttpClient
- Defined in:
- lib/kward/tools/search/web.rb
Overview
HTTP adapter used by web-search providers and fallbacks.
Defined Under Namespace
Classes: Response
Instance Method Summary collapse
- #get(url, headers: {}) ⇒ Object
- #get_json(url, headers: {}) ⇒ Object
- #get_text(url, headers: {}) ⇒ Object
-
#initialize(user_agent: nil) ⇒ NetHttpClient
constructor
A new instance of NetHttpClient.
- #post(url, form:, headers: {}) ⇒ Object
- #post_json(url, body:, headers: {}) ⇒ Object
Constructor Details
#initialize(user_agent: nil) ⇒ NetHttpClient
Returns a new instance of NetHttpClient.
725 726 727 |
# File 'lib/kward/tools/search/web.rb', line 725 def initialize(user_agent: nil) @user_agent = user_agent end |
Instance Method Details
#get(url, headers: {}) ⇒ Object
729 730 731 |
# File 'lib/kward/tools/search/web.rb', line 729 def get(url, headers: {}) request(url, Net::HTTP::Get, headers: headers) end |
#get_json(url, headers: {}) ⇒ Object
733 734 735 |
# File 'lib/kward/tools/search/web.rb', line 733 def get_json(url, headers: {}) JSON.parse(get_text(url, headers: headers.merge("Accept" => "application/json"))) end |
#get_text(url, headers: {}) ⇒ Object
737 738 739 740 741 742 743 |
# File 'lib/kward/tools/search/web.rb', line 737 def get_text(url, headers: {}) uri = URI.parse(url) response = get(uri.to_s, headers: headers) raise "HTTP #{response.code} from #{uri.host}" unless success?(response.code) response.body end |
#post(url, form:, headers: {}) ⇒ Object
745 746 747 748 749 |
# File 'lib/kward/tools/search/web.rb', line 745 def post(url, form:, headers: {}) request(url, Net::HTTP::Post, headers: headers) do |http_request| http_request.set_form_data(form) end end |
#post_json(url, body:, headers: {}) ⇒ Object
751 752 753 754 755 |
# File 'lib/kward/tools/search/web.rb', line 751 def post_json(url, body:, headers: {}) request(url, Net::HTTP::Post, headers: headers) do |http_request| http_request.body = JSON.generate(body) end end |