module RorVsWild::Plugin::Middleware::RequestQueueTime
Constants
- ACCEPTABLE_HEADERS
- DIVISORS
- MINIMUM_TIMESTAMP
Public Instance Methods
Source
# File lib/rorvswild/plugin/middleware.rb, line 17 def parse_queue_time_header(env) return unless env earliest = nil ACCEPTABLE_HEADERS.each do |header| if (header_value = env[header]) timestamp = parse_timestamp(header_value.delete_prefix("t=")) if timestamp && (!earliest || timestamp < earliest) earliest = timestamp end end end [earliest, Time.now.to_f].min if earliest end
Private Instance Methods
Source
# File lib/rorvswild/plugin/middleware.rb, line 36 def parse_timestamp(timestamp) timestamp = timestamp.to_f return unless timestamp.finite? DIVISORS.each do |divisor| t = timestamp / divisor return t if t > MINIMUM_TIMESTAMP end end