Correctly track hijacked requests

This commit is contained in:
Sam
2017-11-28 16:47:20 +11:00
parent b3b55e18d1
commit df84e1c358
5 changed files with 106 additions and 19 deletions

View File

@ -105,12 +105,7 @@ class Middleware::RequestTracker
end
def call(env)
MethodProfiler.start if @@detailed_request_loggers
result = @app.call(env)
info = MethodProfiler.stop if @@detailed_request_loggers
result
ensure
def log_request_info(env, result, info)
# we got to skip this on error ... its just logging
data = self.class.get_data(env, result, info) rescue nil
@ -130,6 +125,16 @@ class Middleware::RequestTracker
end
def call(env)
env["discourse.request_tracker"] = self
MethodProfiler.start if @@detailed_request_loggers
result = @app.call(env)
info = MethodProfiler.stop if @@detailed_request_loggers
result
ensure
log_request_info(env, result, info) unless env["discourse.request_tracker.skip"]
end
def log_later(data, host)
Scheduler::Defer.later("Track view", _db = nil) do
self.class.log_request_on_site(data, host)