public void Register(IAppHost appHost) { appHost.RawHttpHandlers.Add(req => req.PathInfo == RoutePath ? (string.IsNullOrEmpty(req.QueryString["id"]) || string.IsNullOrEmpty(req.QueryString["format"]) ? new SharpPageHandler(HtmlTemplates.GetSvgTemplatePath()) { ValidateFn = ValidateFn, Context = SharpPageHandler.NewContext(appHost), } : (IHttpHandler) new SvgFormatHandler { Id = req.QueryString["id"], Format = req.QueryString["format"], Fill = req.QueryString["fill"], }) : req.PathInfo.StartsWith(RoutePath) ? new SvgFormatHandler(req.PathInfo.Substring(RoutePath.Length + 1)) { Fill = req.QueryString["fill"] } : null); var btnSvgCssFile = appHost.VirtualFileSources.GetFile("/css/buttons-svg.css"); if (btnSvgCssFile != null) { var btnSvgCss = btnSvgCssFile.ReadAllText(); foreach (var name in new[] { "svg-auth", "svg-icons" }) { if (Svg.CssFiles.ContainsKey(name) && !Svg.AppendToCssFiles.ContainsKey(name)) { Svg.AppendToCssFiles[name] = btnSvgCss; } } } appHost.GetPlugin <MetadataFeature>() .AddDebugLink(RoutePath, "SVG Images"); }