using System;
using UnityEngine;

namespace Alibabacloud.Rum.Unity.Rum
{
    /// <summary>
    /// Configuration for trace context propagation per URL pattern.
    /// </summary>
    [Serializable]
    public class TraceContextConfig
    {
        /// <summary>
        /// URL pattern to match for trace context injection.
        /// </summary>
        [field: SerializeField] public string UrlPattern { get; set; }
        
        /// <summary>
        /// Trace context standard to use for this URL pattern.
        /// </summary>
        [field: SerializeField] public TraceContextStandard Standard { get; set; }

        public TraceContextConfig()
        {
            UrlPattern = string.Empty;
            Standard = TraceContextStandard.W3C;
        }

        public TraceContextConfig(string urlPattern, TraceContextStandard standard)
        {
            UrlPattern = urlPattern;
            Standard = standard;
        }
    }
}
