Exemplo n.º 1
0
        public static void ClearResponse(this HttpContext context, int statusCode)
        {
            var headers = new HeaderDictionary();

            headers.Append(HeaderNames.CacheControl, "no-cache, no-store, must-revalidate");
            headers.Append(HeaderNames.Pragma, "no-cache");
            headers.Append(HeaderNames.Expires, "0");

            foreach (KeyValuePair <string, StringValues> header in context.Response.Headers)
            {
                //Copy over the existing Access-Control-* headers after resetting the response.
                if (AllowedHeaderNames.Contains(header.Key))
                {
                    headers.Add(header);
                }
            }

            context.Response.Clear();
            context.Response.StatusCode = statusCode;

            foreach (KeyValuePair <string, StringValues> header in headers)
            {
                context.Response.Headers.Add(header);
            }
        }
Exemplo n.º 2
0
        private void ClearResponse(HttpContext context, int statusCode)
        {
            var headers = new HeaderDictionary();

            // Make sure problem responses are never cached.
            headers.Append(HeaderNames.CacheControl, "no-cache, no-store, must-revalidate");
            headers.Append(HeaderNames.Pragma, "no-cache");
            headers.Append(HeaderNames.Expires, "0");

            foreach (var header in context.Response.Headers)
            {
                // Because the CORS middleware adds all the headers early in the pipeline,
                // we want to copy over the existing Access-Control-* headers after resetting the response.
                if (Options.AllowedHeaderNames.Contains(header.Key))
                {
                    headers.Add(header);
                }
            }

            context.Response.Clear();
            context.Response.StatusCode = statusCode;

            foreach (var header in headers)
            {
                context.Response.Headers.Add(header);
            }
        }
Exemplo n.º 3
0
        public MyHttpResponse(HttpRequest req)
        {
            Headers = new HeaderDictionary();
            foreach (var header in req.Headers)
            {
                Headers.Append(header.Key, header.Value);
            }

            Body = new MemoryStream();
        }
Exemplo n.º 4
0
        private static void ClearExceptCorsHeaders(HttpResponse response)
        {
            var headers = new HeaderDictionary();

            headers.Append(HeaderNames.CacheControl, "no-cache, no-store, must-revalidate");
            headers.Append(HeaderNames.Pragma, "no-cache");
            headers.Append(HeaderNames.Expires, "0");

            foreach (KeyValuePair <string, StringValues> header in response.Headers)
            {
                if (_preservedHeaders.Contains(header.Key))
                {
                    headers.Add(header);
                }
            }

            response.Clear();

            foreach (KeyValuePair <string, StringValues> header in headers)
            {
                response.Headers.Add(header);
            }
        }
        public void Constructor_HaveBrowserLanguageAndSettingIsEnabledCase1_LanguageSetFromHeader()
        {
            // Assign

            _settings.SetupGet(x => x.AcceptBrowserLanguage).Returns(true);
            var header = new HeaderDictionary(new Dictionary <string, StringValues>());

            header.Append("Accept-Language", "ru-RU");
            _context.SetupGet(x => x.Request.Headers).Returns(header);

            // Act
            _languageManager = new LanguageManager(_settings.Object, _context.Object);

            // Assert
            Assert.AreEqual("ru", _languageManager.Language);
        }
Exemplo n.º 6
0
        public void Constructor_HaveBrowserLanguageAndCookieLanguage_LanguageSetFromCookie()
        {
            // Assign

            var cookieCollection = new Mock <IRequestCookieCollection>();

            cookieCollection.SetupGet(x => x[It.Is <string>(s => s == LanguageManager.CookieLanguageFieldName)]).Returns("fr");
            _context.SetupGet(x => x.Request.Cookies).Returns(cookieCollection.Object);

            _settings.SetupGet(x => x.AcceptBrowserLanguage).Returns(true);
            var header = new HeaderDictionary(new Dictionary <string, StringValues>());

            header.Append("Accept-Language", "ru-RU");
            _context.SetupGet(x => x.Request.Headers).Returns(header);

            // Act
            _languageManager = new LanguageManager(_settings.Object, _context.Object);

            // Assert
            Assert.AreEqual("fr", _languageManager.Language);
        }
        public void Create_EmptyRequestBody_ModelCreatedWithoutRating()
        {
           
            using (var scope = _container.CreateScope())
            {
                //Arrange
                var factory = scope.ServiceProvider.GetRequiredService<IFeedbackCreateModelFactory>();
                var userId = Guid.NewGuid();
                var headers = new HeaderDictionary();
                headers.Append(FeedbackCreateModelFactory.UserIdHeaderName, userId.ToString());
                var sessionId = ExpectedTestData.GameSessionIds[0];
                
                //Act
                var model = factory.Create(string.Empty, headers, sessionId);

                //Assert
                Assert.False(model.Rating.HasValue);
                Assert.True(model.UserId.HasValue && model.UserId.Value == userId);
                Assert.True(model.SessionId.HasValue && model.SessionId.Value == sessionId);
            }
        }
Exemplo n.º 8
0
        public void Constructor_HaveBrowserLanguageAndCookieLanguage_LanguageSetFromCookie()
        {
            // Assign

            var cookies = new Dictionary <string, string> {
                { LanguageManager.CookieLanguageFieldName, "fr" }
            };

            _context.SetupGet(x => x.Request.Cookies).Returns(new RequestCookieCollection(cookies));

            _settings.SetupGet(x => x.AcceptBrowserLanguage).Returns(true);
            var header = new HeaderDictionary(new Dictionary <string, string[]>());

            header.Append("Accept-Language", "ru-RU");
            _context.SetupGet(x => x.Request.Headers).Returns(header);

            // Act
            _languageManager = new LanguageManager(_settings.Object, _context.Object);

            // Assert
            Assert.AreEqual("fr", _languageManager.Language);
        }
        public void Create_ValidInput_ModelCreatedSuccessfully()
        {
            
            using (var scope = _container.CreateScope())
            {
                //Arrange
                var factory = scope.ServiceProvider.GetRequiredService<IFeedbackCreateModelFactory>();
                var userId = Guid.NewGuid();
                var headers = new HeaderDictionary();
                headers.Append(FeedbackCreateModelFactory.UserIdHeaderName, userId.ToString());
                var sessionId = ExpectedTestData.GameSessionIds[0];
                var requestBody = @"{ ""rating"": ""4""}";

                //Act
                var model = factory.Create(requestBody, headers, sessionId);

                //Assert
                Assert.True(model.Rating.HasValue && model.Rating.Value == 4);
                Assert.True(model.UserId.HasValue && model.UserId.Value == userId);
                Assert.True(model.SessionId.HasValue && model.SessionId.Value == sessionId);
            }
        }