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