protected override void MaybeReshapeData()

in src/Google.Cloud.Functions.Framework/GcfEvents/GcfConverters.cs [486:507]


            protected override void MaybeReshapeData(Request request)
            {
                if (request.Data.TryGetValue("metadata", out var metadata) &&
                    metadata is JsonElement metadataElement &&
                    metadataElement.ValueKind == JsonValueKind.Object)
                {
                    // JsonElement itself is read-only, but we can just replace the value with a
                    // Dictionary<string, JsonElement> that has the appropriate key/value pairs.
                    var metadataDict = new Dictionary<string, JsonElement>();
                    foreach (var item in metadataElement.EnumerateObject())
                    {
                        string name = item.Name switch
                        {
                            "lastSignedInAt" => "lastSignInTime",
                            "createdAt" => "createTime",
                            var x => x
                        };
                        metadataDict[name] = item.Value;
                    }
                    request.Data["metadata"] = metadataDict;
                }
            }