static DaprPubSubEvent CreatePubSubEvent()

in src/Microsoft.Azure.WebJobs.Extensions.Dapr/DaprExtensionConfigProvider.cs [148:176]


        static DaprPubSubEvent CreatePubSubEvent(JsonElement json)
        {
            var propertyBag = json.ToCaseInsensitiveDictionary();

            if (!propertyBag.TryGetValue("payload", out JsonElement payload))
            {
                throw new ArgumentException($"A '{nameof(json).ToLowerInvariant()}' parameter is required for outbound pub/sub operations.");
            }

            object? payloadObject = payload.Deserialize<object>();
            if (payloadObject == null)
            {
                throw new ArgumentException($"Could not deserialize '{nameof(payloadObject).ToLowerInvariant()}' parameter for outbound pub/sub operations.");
            }

            DaprPubSubEvent event_ = new DaprPubSubEvent(payloadObject);

            if (propertyBag.TryGetValue("pubsubname", out JsonElement pubsubName))
            {
                event_.PubSubName = pubsubName.GetString();
            }

            if (propertyBag.TryGetValue("topic", out JsonElement topic))
            {
                event_.Topic = topic.GetString();
            }

            return event_;
        }