method
deserialize_with_metadata
rails latest stable - Class:
ActiveSupport::Messages::Metadata
deserialize_with_metadata(message, **expected_metadata)private
No documentation available.
# File activesupport/lib/active_support/messages/metadata.rb, line 43
def deserialize_with_metadata(message, **expected_metadata)
if dual_serialized_metadata_envelope_json?(message)
envelope = deserialize_from_json(message)
extracted = extract_from_metadata_envelope(envelope, **expected_metadata)
deserialize_from_json_safe_string(extracted["message"])
else
deserialized = deserialize(message)
if metadata_envelope?(deserialized)
extract_from_metadata_envelope(deserialized, **expected_metadata)["data"]
elsif expected_metadata.none? { |k, v| v }
deserialized
else
throw :invalid_message_content, "missing metadata"
end
end
end