class Rack::TimeEnforcement
Constants
- VERSION
Public Class Methods
new(app)
click to toggle source
# File lib/rack/time_enforcement.rb, line 6 def initialize(app) @app = app end
Public Instance Methods
call(env)
click to toggle source
# File lib/rack/time_enforcement.rb, line 10 def call(env) if time = time_extract(env) code, headers, body = Timecop.travel(time) { @app.call(env) } headers['Time-Enforcement-In'] = time.to_s headers['Time-Enforcement-Enabled'] = 'true' else code, headers, body = @app.call(env) if env['HTTP_TIME_ENFORCEMENT_AT'] headers['Time-Enforcement-Enabled'] = 'false' end end headers['Time-Enforcement-Available'] = 'true' [code, headers, body] end
time_extract(env)
click to toggle source
# File lib/rack/time_enforcement.rb, line 28 def time_extract(env) if env['HTTP_TIME_ENFORCEMENT_AT'] begin Time.parse env["HTTP_TIME_ENFORCEMENT_AT"] rescue nil end end end