class Firmenwissen::HttpRequest
Attributes
options[R]
params[R]
uri[R]
Public Class Methods
new(uri, options = {})
click to toggle source
# File lib/firmenwissen/http_request.rb, line 3 def initialize(uri, options = {}) @uri = uri @options = options end
Public Instance Methods
execute()
click to toggle source
# File lib/firmenwissen/http_request.rb, line 8 def execute http = Net::HTTP.start(uri.host, uri.port, use_ssl: uri.use_ssl?) http.read_timeout = config.timeout http.request(request, &method(:extract_session)) ensure http.finish http end
Protected Instance Methods
config()
click to toggle source
# File lib/firmenwissen/http_request.rb, line 30 def config @config ||= Firmenwissen.configuration.merge(options) end
extract_session(response)
click to toggle source
# File lib/firmenwissen/http_request.rb, line 34 def extract_session(response) return unless config.persistent_session? Firmenwissen::Session.update_from_set_cookie_headers(response.get_fields('Set-Cookie')) end
request()
click to toggle source
# File lib/firmenwissen/http_request.rb, line 21 def request @request ||= begin Net::HTTP::Get.new(uri).tap do |req| req.basic_auth(config.user, config.password) req.add_field('Cookie', session_cookie) if config.persistent_session? && !session_cookie.empty? end end end