Exemplo n.º 1
0
        public override Task Process(string parameter, HttpListenerContext context)
        {
            var modifiedUrl = HtmlProcessor.SimplifyUrl(parameter);
            var resource    = ServerContext.ResourceManager.GetResource(modifiedUrl);

            if (resource != null && resource.IsDownloaded)
            {
                if (resource.ContentType != null && resource.ContentType.StartsWith("text/html"))
                {
                    using var stream = resource.Get();
                    var pm = new PageModifier(stream, modifiedUrl);
                    pm.Process();
                    ResultStream = pm.GetResult();
                }
                else
                {
                    ResultStream = resource.Get();
                }

                ContentType = resource.ContentType;
            }
            else
            {
                StatusCode = 404;
            }

            return(Task.CompletedTask);
        }
Exemplo n.º 2
0
        public void PageModifier_Page_DefaultValue_ReturnsDefaultQueryParam()
        {
            // Arrange
            var modifier = new PageModifier();

            // Act
            var queryParams = modifier.GetQueryParameters();

            // Assert
            Assert.IsTrue(queryParams.TryGetValue("page", out var page));
            Assert.AreEqual($"{Constants.DefaultPage}", page);
        }
Exemplo n.º 3
0
        public void PageModifier_Page_CustomValue_ReturnsCorrectQueryParam()
        {
            // Arrange
            var modifier   = new PageModifier();
            var customPage = 3;

            modifier.Page = customPage;

            // Act
            var queryParams = modifier.GetQueryParameters();

            // Assert
            Assert.IsTrue(queryParams.TryGetValue("page", out var page));
            Assert.AreEqual($"{customPage}", page);
        }