@Test public void testDefaultScheme() throws Exception { setRequestHeader("X-Forwarded-Scheme", "https"); _rule.setHeader("X-Forwarded-Scheme"); _rule.setHeaderValue("https"); _rule.matchAndApply("/", _request, _response); assertEquals("https", _request.getScheme()); }
@Test public void testHeaderValue() throws Exception { setRequestHeader("Front-End-Https", "on"); _rule.setHeader("Front-End-Https"); _rule.setHeaderValue("on"); _rule.setScheme("https"); _rule.matchAndApply("/", _request, _response); assertEquals("https", _request.getScheme()); _request.setScheme(null); // header value doesn't match rule's value setRequestHeader("Front-End-Https", "off"); _rule.matchAndApply("/", _request, _response); assertEquals(null, _request.getScheme()); _request.setScheme(null); // header value can be any value setRequestHeader("Front-End-Https", "any"); _rule.setHeaderValue(null); _rule.matchAndApply("/", _request, _response); assertEquals("https", _request.getScheme()); }