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_;
}