private static List UnmarshallSamplingRuleResponse()

in sdk/src/Core/Sampling/ServiceConnector.cs [119:149]


        private static List<SamplingRule> UnmarshallSamplingRuleResponse(string responseContent)
        {
            List<SamplingRule> samplingRules = new List<SamplingRule>();

            var samplingRuleResponse = JsonMapper.ToObject<SamplingRuleResponseModel>(responseContent);

            foreach (var samplingRuleRecord in samplingRuleResponse.SamplingRuleRecords)
            {
                var samplingRuleModel = samplingRuleRecord.SamplingRule;
                if (samplingRuleModel.Version.GetValueOrDefault() == Version && SamplingRule.IsValid(samplingRuleModel))
                {
                    var samplingRule = new SamplingRule
                    (
                        samplingRuleModel.RuleName,
                        samplingRuleModel.Priority.GetValueOrDefault(),
                        samplingRuleModel.FixedRate.GetValueOrDefault(),
                        samplingRuleModel.ReservoirSize.GetValueOrDefault(),
                        samplingRuleModel.Host,
                        samplingRuleModel.ServiceName,
                        samplingRuleModel.HTTPMethod,
                        samplingRuleModel.URLPath,
                        samplingRuleModel.ServiceType,
                        samplingRuleModel.ResourceARN,
                        samplingRuleModel.Attributes
                    );
                    samplingRules.Add(samplingRule);
                }
            }

            return samplingRules;
        }