public static void Add(this IInfoAccumulator a, IEnumerable <KeyValuePair <string, string> > items)
 {
     foreach (var pair in items)
     {
         a.AddString(pair.Key, pair.Value);
     }
 }
        public void Add(IInfoAccumulator query)
        {
            var q = query.WithPrefix("proc_");

            if (iisVersion != null)
            {
                q.Add("iis", iisVersion);
            }

            q.Add("default_commands", PathHelpers.SerializeCommandString(options.CommandDefaults));

            var a = Assembly.GetAssembly(this.GetType()).GetInformationalVersion();

            if (a.LastIndexOf('+') >= 0)
            {
                q.Add("git_commit", a.Substring(a.LastIndexOf('+') + 1));
            }
            q.Add("info_version", Assembly.GetAssembly(this.GetType()).GetInformationalVersion());
            q.Add("file_version", Assembly.GetAssembly(this.GetType()).GetFileVersion());


            if (env.ContentRootPath != null)
            {
                // ReSharper disable once StringLiteralTypo
                q.Add("apppath_hash", Utilities.Sha256TruncatedBase64(env.ContentRootPath, 6));
            }

            query.Add("imageflow", 1);
            query.AddString("enabled_cache", options.ActiveCacheBackend.ToString());
            if (streamCache != null)
            {
                query.AddString("stream_cache", streamCache.GetType().Name);
            }
            query.Add("map_web_root", options.MapWebRoot);
            query.Add("use_presets_exclusively", options.UsePresetsExclusively);
            query.Add("request_signing_default", options.RequestSignatureOptions?.DefaultRequirement.ToString() ?? "never");
            query.Add("default_cache_control", options.DefaultCacheControlString);

            foreach (var s in pluginNames)
            {
                query.Add("p", s);
            }
            foreach (var p in infoProviders)
            {
                p?.Add(query);
            }
        }
 public static void Add(this IInfoAccumulator a, string key, string value)
 {
     a.AddString(key, value);
 }
 public static void Add(this IInfoAccumulator a, string key, long?value)
 {
     a.AddString(key, value?.ToString());
 }
 public static void Add(this IInfoAccumulator a, string key, Guid value)
 {
     a.AddString(key, EncodingUtils.ToBase64U(value.ToByteArray()));
 }