Skip to content

Commit de40fc6

Browse files
Merge pull request rails#46787 from jonathanhefner/messages-metadata-avoid-parse-non-metadata
Avoid double JSON parse for metadata-less messages
2 parents 52146de + 4c4f4c3 commit de40fc6

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

activesupport/lib/active_support/messages/metadata.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,11 @@ def pick_expiry(expires_at, expires_in)
3838

3939
def extract_metadata(message)
4040
begin
41-
data = JSON.decode(message) if message.start_with?("{")
41+
data = JSON.decode(message) if message.start_with?('{"_rails":')
4242
rescue ::JSON::JSONError
4343
end
4444

45-
if data.is_a?(Hash) && data.key?("_rails")
45+
if data
4646
new(decode(data["_rails"]["message"]), data["_rails"]["exp"], data["_rails"]["pur"])
4747
else
4848
new(message)

0 commit comments

Comments
 (0)