class Fragments::Requester
Attributes
current_host[R]
current_url[R]
fragment_code[R]
Public Class Methods
call(*opts, &block)
click to toggle source
# File lib/fragments/requester.rb, line 16 def self.call(*opts, &block) new(*opts).call(&block) end
new(fragment_code:, current_host:, cookies:, current_url:)
click to toggle source
# File lib/fragments/requester.rb, line 9 def initialize(fragment_code:, current_host:, cookies:, current_url:) @fragment_code = fragment_code @current_host = current_host @cookies = cookies @current_url = current_url end
Public Instance Methods
call()
click to toggle source
# File lib/fragments/requester.rb, line 20 def call uri = build_uri http = Net::HTTP.new(uri.host, uri.port) get_request = Net::HTTP::Get.new(uri.path) apply_https(http, uri) apply_headers(get_request) get_response_body(http, get_request) end
Private Instance Methods
apply_headers(request)
click to toggle source
# File lib/fragments/requester.rb, line 42 def apply_headers(request) request.add_field("Cookie", cookies) request.add_field("frontend-uri", fetch_fragment_uri_prefix) request.add_field("current-url", current_url) request.add_field("host", current_host.gsub(/^https?\:\/\/(www.)?/,'')) end
apply_https(http, uri)
click to toggle source
# File lib/fragments/requester.rb, line 36 def apply_https(http, uri) return if uri.scheme != "https" http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE end
build_uri()
click to toggle source
# File lib/fragments/requester.rb, line 31 def build_uri path = current_host + '/' + fragment_code; URI.parse(path) end
fetch_fragment_uri_prefix()
click to toggle source
# File lib/fragments/requester.rb, line 54 def fetch_fragment_uri_prefix ::Fragments.config.uri_prefix(I18n.locale) end
get_response_body(http, request)
click to toggle source
# File lib/fragments/requester.rb, line 49 def get_response_body(http, request) get_response = http.request(request) get_response.body end