mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FEATURE: add username header to global-rate-limited responses (#25265)
This will make it easier to analyze rate limiting in reverse-proxy logs. To make this possible without a database lookup, we add the username to the encrypted `_t` cookie data.
This commit is contained in:
@@ -275,6 +275,7 @@ class Auth::DefaultCurrentUserProvider
|
||||
data = {
|
||||
token: unhashed_auth_token,
|
||||
user_id: user.id,
|
||||
username: user.username,
|
||||
trust_level: user.trust_level,
|
||||
issued_at: Time.zone.now.to_i,
|
||||
}
|
||||
|
||||
@@ -221,6 +221,9 @@ class Middleware::RequestTracker
|
||||
"Retry-After" => available_in.to_s,
|
||||
"Discourse-Rate-Limit-Error-Code" => error_code,
|
||||
}
|
||||
if username = cookie&.[](:username)
|
||||
headers["X-Discourse-Username"] = username
|
||||
end
|
||||
return 429, headers, [message]
|
||||
end
|
||||
env["discourse.request_tracker"] = self
|
||||
|
||||
Reference in New Issue
Block a user