Class: Rack::Runtime
- Inherits:
-
Object
- Object
- Rack::Runtime
- Defined in:
- rack/rack/runtime.rb
Overview
Sets an "X-Runtime" response header, indicating the response time of the request, in seconds
You can put it right before the application to see the processing time, or before all the other middlewares to include time for them, too.
Instance Method Summary (collapse)
- - (void) call(env)
-
- (Runtime) initialize(app, name = nil)
constructor
A new instance of Runtime.
Constructor Details
- (Runtime) initialize(app, name = nil)
Returns a new instance of Runtime
9 10 11 12 13 |
# File 'rack/rack/runtime.rb', line 9 def initialize(app, name = nil) @app = app @header_name = "X-Runtime" @header_name << "-#{name}" if name end |
Instance Method Details
- (void) call(env)
15 16 17 18 19 20 21 22 23 24 25 |
# File 'rack/rack/runtime.rb', line 15 def call(env) start_time = Time.now status, headers, body = @app.call(env) request_time = Time.now - start_time if !headers.has_key?(@header_name) headers[@header_name] = "%0.6f" % request_time end [status, headers, body] end |