Amazon.S3.Util.S3PostUploadSignedPolicy.addConditionsToPolicy C# (CSharp) Метод

addConditionsToPolicy() приватный статический Метод

private static addConditionsToPolicy ( string policy, string>.Dictionary newConditions ) : byte[]
policy string
newConditions string>.Dictionary
Результат byte[]
        private static byte[] addConditionsToPolicy(string policy, Dictionary<string, string> newConditions)
        {
            var json = JsonMapper.ToObject(new JsonReader(policy));

            var jsonConditions = json["conditions"];

            if (jsonConditions != null && jsonConditions.IsArray)
            {
                foreach (var newCond in newConditions)
                {
                    bool found = false;
                    for (int i = 0; i < jsonConditions.Count; i++)
                    {
                        JsonData jsonCond = jsonConditions[i];
                        if (jsonCond.IsObject && jsonCond[newCond.Key] != null)
                        {
                            jsonCond[newCond.Key] = newCond.Value;
                            found = true;
                        }
                    }
                    if (!found)
                    {
                        var jsonCond = new JsonData();
                        jsonCond.SetJsonType(JsonType.Object);
                        jsonCond[newCond.Key] = newCond.Value;
                        jsonConditions.Add(jsonCond);
                    }
                }
            }
            return Encoding.UTF8.GetBytes(JsonMapper.ToJson(json).Trim());
        }