示例#1
0
 /// <summary>
 /// Constructs an instance of the stream wrapper with HTTP buffering feature
 /// </summary>
 /// <param name="context">HTTP context</param>
 /// <param name="originalStream">Original stream</param>
 /// <param name="options">WebMarkupMin configuration</param>
 /// <param name="minificationManagers">List of markup minification managers</param>
 /// <param name="compressionManager">HTTP compression manager</param>
 /// <param name="bufferingFeature">HTTP buffering feature</param>
 internal BodyWrapperStreamWithBufferingFeature(HttpContext context, Stream originalStream,
                                                WebMarkupMinOptions options, IList <IMarkupMinificationManager> minificationManagers,
                                                IHttpCompressionManager compressionManager, IHttpBufferingFeature bufferingFeature)
     : base(context, originalStream, options, minificationManagers, compressionManager)
 {
     _bufferingFeature = bufferingFeature;
 }
 /// <summary>
 /// Constructs an instance of the stream wrapper with HTTP response body feature
 /// </summary>
 /// <param name="context">HTTP context</param>
 /// <param name="options">WebMarkupMin configuration</param>
 /// <param name="minificationManagers">List of markup minification managers</param>
 /// <param name="compressionManager">HTTP compression manager</param>
 /// <param name="responseBodyFeature">HTTP response body feature</param>
 internal BodyWrapperStreamWithResponseBodyFeature(HttpContext context,
                                                   WebMarkupMinOptions options, IList <IMarkupMinificationManager> minificationManagers,
                                                   IHttpCompressionManager compressionManager, IHttpResponseBodyFeature responseBodyFeature)
     : base(context, responseBodyFeature.Stream, options, minificationManagers, compressionManager)
 {
     _responseBodyFeature = responseBodyFeature;
 }
 /// <summary>
 /// Constructs an instance of the stream wrapper
 /// </summary>
 /// <param name="context">HTTP context</param>
 /// <param name="originalStream">Original stream</param>
 /// <param name="options">WebMarkupMin configuration</param>
 /// <param name="minificationManagers">List of markup minification managers</param>
 /// <param name="compressionManager">HTTP compression manager</param>
 protected BodyWrapperStreamBase(HttpContext context, Stream originalStream,
                                 WebMarkupMinOptions options, IList <IMarkupMinificationManager> minificationManagers,
                                 IHttpCompressionManager compressionManager)
 {
     _context              = context;
     _originalStream       = originalStream;
     _options              = options;
     _minificationManagers = minificationManagers;
     _compressionManager   = compressionManager;
 }
示例#4
0
 /// <summary>
 /// Constructs an instance of the stream wrapper
 /// </summary>
 /// <param name="context">HTTP context</param>
 /// <param name="originalStream">Original stream</param>
 /// <param name="options">WebMarkupMin configuration</param>
 /// <param name="minificationManagers">List of markup minification managers</param>
 /// <param name="compressionManager">HTTP compression manager</param>
 /// <param name="bufferingFeature">HTTP buffering feature</param>
 internal BodyWrapperStream(HttpContext context, Stream originalStream,
                            WebMarkupMinOptions options, IList <IMarkupMinificationManager> minificationManagers,
                            IHttpCompressionManager compressionManager, IHttpBufferingFeature bufferingFeature)
 {
     _context              = context;
     _originalStream       = originalStream;
     _options              = options;
     _minificationManagers = minificationManagers;
     _compressionManager   = compressionManager;
     _bufferingFeature     = bufferingFeature;
 }
        /// <summary>
        /// Constructs a instance of WebMarkupMin middleware
        /// </summary>
        /// <param name="next">The next middleware in the pipeline</param>
        /// <param name="options">WebMarkupMin options</param>
        /// <param name="services">The list of services</param>
        protected WebMarkupMinMiddlewareBase(RequestDelegate next,
                                             IOptions <WebMarkupMinOptions> options,
                                             IServiceProvider services)
        {
            if (next == null)
            {
                throw new ArgumentNullException(nameof(next));
            }

            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            if (services == null)
            {
                throw new ArgumentNullException(nameof(services));
            }

            _next    = next;
            _options = options.Value;

            var minificationManagers = new List <IMarkupMinificationManager>();

            var htmlMinificationManager = services.GetService <IHtmlMinificationManager>();

            if (htmlMinificationManager != null)
            {
                minificationManagers.Add(htmlMinificationManager);
            }

            var xhtmlMinificationManager = services.GetService <IXhtmlMinificationManager>();

            if (xhtmlMinificationManager != null)
            {
                minificationManagers.Add(xhtmlMinificationManager);
            }

            var xmlMinificationManager = services.GetService <IXmlMinificationManager>();

            if (xmlMinificationManager != null)
            {
                minificationManagers.Add(xmlMinificationManager);
            }

            _minificationManagers = minificationManagers;

            var compressionManager = services.GetService <IHttpCompressionManager>();

            if (compressionManager != null)
            {
                _compressionManager = compressionManager;
            }
        }
示例#6
0
        /// <summary>
        /// Checks whether the HTTP compression is enabled
        /// </summary>
        /// <param name="options">WebMarkupMin options</param>
        /// <returns>Result of check (true - compression is enabled; false - compression is disabled)</returns>
        public static bool IsCompressionEnabled(this WebMarkupMinOptions options)
        {
            bool isCompressionEnabled = false;

            if (!options.DisableCompression)
            {
                isCompressionEnabled = !options.HostingEnvironment.IsDevelopment() ||
                                       options.AllowCompressionInDevelopmentEnvironment;
            }

            return(isCompressionEnabled);
        }
		/// <summary>
		/// Constructs a instance of WebMarkupMin middleware
		/// </summary>
		/// <param name="next">The next middleware in the pipeline</param>
		/// <param name="options">WebMarkupMin options</param>
		/// <param name="services">The list of services</param>
		public WebMarkupMinMiddleware(
			[NotNull] RequestDelegate next,
			[NotNull] IOptions<WebMarkupMinOptions> options,
			[NotNull] IServiceProvider services)
		{
			_next = next;
			_options = options.Options;

			var minificationManagers = new List<IMarkupMinificationManager>();

			var htmlMinificationManager = services.GetService<IHtmlMinificationManager>();
			if (htmlMinificationManager != null)
			{
				minificationManagers.Add(htmlMinificationManager);
			}

			var xhtmlMinificationManager = services.GetService<IXhtmlMinificationManager>();
			if (xhtmlMinificationManager != null)
			{
				minificationManagers.Add(xhtmlMinificationManager);
			}

			var xmlMinificationManager = services.GetService<IXmlMinificationManager>();
			if (xmlMinificationManager != null)
			{
				minificationManagers.Add(xmlMinificationManager);
			}

			_minificationManagers = minificationManagers;

			var compressionManager = services.GetService<IHttpCompressionManager>();
			if (compressionManager != null)
			{
				_compressionManager = compressionManager;
			}
		}