lib/skylight/middleware.rb in skylight-0.3.18 vs lib/skylight/middleware.rb in skylight-0.3.19
- old
+ new
@@ -49,22 +49,27 @@
@app = app
@config = opts[:config]
end
def call(env)
- begin
- t { "middleware beginning trace" }
- trace = Skylight.trace "Rack", 'app.rack.request'
- resp = @app.call(env)
- resp[2] = BodyProxy.new(resp[2]) { trace.submit } if trace
- resp
- rescue Exception
- t { "middleware exception: #{trace}"}
- trace.submit if trace
- raise
- ensure
- t { "middleware release: #{trace}"}
- trace.release if trace
+ if env["REQUEST_METHOD"] == "HEAD"
+ t { "middleware skipping HEAD" }
+ @app.call(env)
+ else
+ begin
+ t { "middleware beginning trace" }
+ trace = Skylight.trace "Rack", 'app.rack.request'
+ resp = @app.call(env)
+ resp[2] = BodyProxy.new(resp[2]) { trace.submit } if trace
+ resp
+ rescue Exception
+ t { "middleware exception: #{trace}"}
+ trace.submit if trace
+ raise
+ ensure
+ t { "middleware release: #{trace}"}
+ trace.release if trace
+ end
end
end
end
end