/// <summary> /// Create a new FiftyOneJsProvider /// </summary> public FiftyOneJsProvider() { var pipeline = WebPipeline.GetInstance().Pipeline; var headersAffectingJavaScript = new List <string>(); // Get evidence filters for all elements that have // JavaScript properties. var filters = pipeline.FlowElements .Where(e => e.Properties.Any(p => p.Type != null && p.Type == typeof(JavaScript))) .Select(e => e.EvidenceKeyFilter); foreach (var filter in filters) { // If the filter is a white list or derived type then // get all HTTP header evidence keys from white list // and add them to the headers that could affect the // generated JavaScript. var whitelist = filter as EvidenceKeyFilterWhitelist; if (whitelist != null) { var headerPrefix = Core.Constants.EVIDENCE_HTTPHEADER_PREFIX + Core.Constants.EVIDENCE_SEPERATOR; headersAffectingJavaScript.AddRange(whitelist.Whitelist .Where(entry => entry.Key.StartsWith( headerPrefix, StringComparison.OrdinalIgnoreCase)) .Select(entry => entry.Key.Substring( entry.Key.IndexOf(Core.Constants.EVIDENCE_SEPERATOR, StringComparison.OrdinalIgnoreCase) + 1))); } } _headersAffectingJavaScript = new StringValues(headersAffectingJavaScript.ToArray()); }
/// <summary> /// Create a new FiftyOneJsProvider /// </summary> public FiftyOneJsProvider() { using (var loggerFactory = new LoggerFactory()) { var logger = loggerFactory.CreateLogger <ClientsidePropertyService>(); _clientsidePropertyService = new ClientsidePropertyService( WebPipeline.GetInstance().Pipeline, logger); } }
/// <summary> /// Constructor /// </summary> public SetHeadersProvider() { var pipeline = WebPipeline.GetInstance().Pipeline; _setHeadersElement = pipeline.GetElement <ISetHeadersElement>(); }