module RabbotHttp
HTTP helpers for plugins. Use instead of duplicating URI.open + User-Agent.
Constants
- DEFAULT_USER_AGENT
Public Instance Methods
Source
# File lib/rabbot_http.rb, line 14 def fetch(url, user_agent: DEFAULT_USER_AGENT, headers: {}) merged = { "User-Agent" => user_agent }.merge(headers) body = URI.parse(url).open(merged).read body = body.dup unless body.frozen? body.force_encoding(Encoding::BINARY) unless body.encoding == Encoding::BINARY body end
Source
# File lib/rabbot_http.rb, line 22 def fetch_json(url, user_agent: DEFAULT_USER_AGENT, headers: {}) JSON.parse(fetch(url, user_agent: user_agent, headers: headers)) end
Source
# File lib/rabbot_http.rb, line 26 def open(url, user_agent: DEFAULT_USER_AGENT, headers: {}, &block) merged = { "User-Agent" => user_agent }.merge(headers) URI.parse(url).open(merged, &block) end