Esempio n. 1
0
        /// <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);
     }
 }
Esempio n. 3
0
        /// <summary>
        /// Constructor
        /// </summary>
        public SetHeadersProvider()
        {
            var pipeline = WebPipeline.GetInstance().Pipeline;

            _setHeadersElement = pipeline.GetElement <ISetHeadersElement>();
        }