class Net::HTTP

Public Instance Methods

get_request_timeout_value(host, path) click to toggle source
# File lib/configure_semian/net_http.rb, line 15
def get_request_timeout_value(host, path)
  path = process_request_path(path)
  if !ConfigureSemian::SemianConfiguration.service_configs[host.intern].nil?
    specs = ConfigureSemian::SemianConfiguration.service_configs[host.intern][path.intern]
    specs ||= ConfigureSemian::SemianConfiguration.service_configs[host.intern]["/#{path}".intern]
    specs ||= ConfigureSemian::SemianConfiguration.service_configs[host.intern][path.sub('/','').intern]
    specs ||= ConfigureSemian::SemianConfiguration.service_configs[host.intern][:default]
  end
  specs ||= ConfigureSemian::SemianConfiguration.service_configs[:default]
  timeout = specs[:timeout] || specs['timeout']
  return timeout
end
old_request(req, body = nil, &block)
Alias for: request
request(req, body = nil, &block) click to toggle source
# File lib/configure_semian/net_http.rb, line 8
def request(req, body = nil, &block)
  timeout = get_request_timeout_value(self.address, req.path)
  self.read_timeout = timeout
  self.open_timeout = 1
  old_request(req, body, &block)
end
Also aliased as: old_request

Private Instance Methods

process_request_path(path) click to toggle source
# File lib/configure_semian/net_http.rb, line 29
def process_request_path(path)
  path = path.split('?').first
  path.gsub(/[\/]+/,'/')
end