@Override public StringBuffer getRequestURL() { String scheme = getScheme(); String server = getServerName(); int port = getServerPort(); String uri = getRequestURI(); StringBuffer url = new StringBuffer(scheme).append("://").append(server); if (port > 0 && ((HTTP.equalsIgnoreCase(scheme) && port != 80) || (HTTPS.equalsIgnoreCase(scheme) && port != 443))) { url.append(':').append(port); } if (StringUtils.hasText(uri)) { url.append(uri); } return url; }
private com.gargoylesoftware.htmlunit.util.Cookie createCookie(MockHttpServletRequest request, String sessionid) { return new com.gargoylesoftware.htmlunit.util.Cookie(request.getServerName(), "JSESSIONID", sessionid, request.getContextPath() + "/", null, request.isSecure(), true); }
@Test public void getServerNameWithDefaultName() { assertEquals("localhost", request.getServerName()); }
@Test public void buildRequestServerName() throws Exception { MockHttpServletRequest actualRequest = requestBuilder.buildRequest(servletContext); assertThat(actualRequest.getServerName(), equalTo("example.com")); }
@Test public void getServerNameWithCustomName() { request.setServerName("example.com"); assertEquals("example.com", request.getServerName()); }
@Test public void getServerNameViaHostHeaderWithoutPort() { String testServer = "test.server"; request.addHeader(HOST, testServer); assertEquals(testServer, request.getServerName()); }
@Test public void getServerNameViaHostHeaderAsIpv6AddressWithoutPort() { String ipv6Address = "[2001:db8:0:1]"; request.addHeader(HOST, ipv6Address); assertEquals("2001:db8:0:1", request.getServerName()); }
@Test public void getServerNameViaHostHeaderAsIpv6AddressWithPort() { String ipv6Address = "[2001:db8:0:1]:8081"; request.addHeader(HOST, ipv6Address); assertEquals("2001:db8:0:1", request.getServerName()); }
@Test public void getServerNameViaHostHeaderWithPort() { String testServer = "test.server"; request.addHeader(HOST, testServer + ":8080"); assertEquals(testServer, request.getServerName()); }
@Test public void uri() { String uri = "https://java.sun.com:8080/javase/6/docs/api/java/util/BitSet.html?foo=bar#and(java.util.BitSet)"; this.builder = new MockHttpServletRequestBuilder(HttpMethod.GET, uri); MockHttpServletRequest request = this.builder.buildRequest(this.servletContext); assertEquals("https", request.getScheme()); assertEquals("foo=bar", request.getQueryString()); assertEquals("java.sun.com", request.getServerName()); assertEquals(8080, request.getServerPort()); assertEquals("/javase/6/docs/api/java/util/BitSet.html", request.getRequestURI()); assertEquals("https://java.sun.com:8080/javase/6/docs/api/java/util/BitSet.html", request.getRequestURL().toString()); }
@Test public void validFormRedirectIsReturned() { String redirectUri = request.getScheme() + "://" + request.getServerName() + "/test"; request.setParameter(FORM_REDIRECT_PARAMETER, redirectUri); assertEquals(redirectUri, handler.determineTargetUrl(request, new MockHttpServletResponse())); }
private String getRequestUri(MockHttpServletRequest request) { StringWriter uriWriter = new StringWriter(); PrintWriter printer = new PrintWriter(uriWriter); printer.printf("%s://%s", request.getScheme(), request.getServerName()); if (isNonStandardPort(request)) { printer.printf(":%d", request.getServerPort()); } printer.print(request.getRequestURI()); return uriWriter.toString(); }
private void assertUriConfiguration(String scheme, String host, int port) { assertThat(scheme).isEqualTo(this.request.getScheme()); assertThat(host).isEqualTo(this.request.getServerName()); assertThat(port).isEqualTo(this.request.getServerPort()); RequestContextHolder .setRequestAttributes(new ServletRequestAttributes(this.request)); try { URI uri = BasicLinkBuilder.linkToCurrentMapping().toUri(); assertThat(scheme).isEqualTo(uri.getScheme()); assertThat(host).isEqualTo(uri.getHost()); assertThat(port).isEqualTo(uri.getPort()); } finally { RequestContextHolder.resetRequestAttributes(); } }
@Test public void urlPathMobileDeviceMobilePreferenceRequestTabletSiteWithSlash() throws Exception { SiteSwitcherHandlerInterceptor urlPath = SiteSwitcherHandlerInterceptor.urlPath("/mob", "/tab", null); device.setDeviceType(DeviceType.MOBILE); request.setRequestURI("/tab/"); request.addParameter("site_preference", "mobile"); assertFalse(urlPath.preHandle(request, response, null)); assertEquals(1, response.getCookies().length); assertEquals("MOBILE", response.getCookies()[0].getValue()); assertEquals("http://" + request.getServerName() + "/mob/", response.getRedirectedUrl()); }
@Test public void urlPathTabletDeviceTabletPreferenceRequestMobileSite() throws Exception { SiteSwitcherHandlerInterceptor urlPath = SiteSwitcherHandlerInterceptor.urlPath("/mob", "/tab", null); device.setDeviceType(DeviceType.TABLET); request.setRequestURI("/mob"); request.addParameter("site_preference", "tablet"); assertFalse(urlPath.preHandle(request, response, null)); assertEquals(1, response.getCookies().length); assertEquals("TABLET", response.getCookies()[0].getValue()); assertEquals("http://" + request.getServerName() + "/tab", response.getRedirectedUrl()); }
@Test public void urlPathTabletDeviceMobilePreferenceRequestTabletSite() throws Exception { SiteSwitcherHandlerInterceptor urlPath = SiteSwitcherHandlerInterceptor.urlPath("/mob", "/tab", null); device.setDeviceType(DeviceType.TABLET); request.setRequestURI("/tab"); request.addParameter("site_preference", "mobile"); assertFalse(urlPath.preHandle(request, response, null)); assertEquals(1, response.getCookies().length); assertEquals("MOBILE", response.getCookies()[0].getValue()); assertEquals("http://" + request.getServerName() + "/mob", response.getRedirectedUrl()); }
@Test public void urlPathRootPathMobileDeviceMobilePreferenceRequestTabletSite() throws Exception { SiteSwitcherHandlerInterceptor urlPath = SiteSwitcherHandlerInterceptor.urlPath("/mob", "/tab", "/app"); device.setDeviceType(DeviceType.MOBILE); request.setRequestURI("/app/tab"); request.addParameter("site_preference", "mobile"); assertFalse(urlPath.preHandle(request, response, null)); assertEquals(1, response.getCookies().length); assertEquals("MOBILE", response.getCookies()[0].getValue()); assertEquals("http://" + request.getServerName() + "/app/mob", response.getRedirectedUrl()); }
@Test public void urlPathRootPathTabletDeviceTabletPreferenceRequestMobileSiteWithSlash() throws Exception { SiteSwitcherHandlerInterceptor urlPath = SiteSwitcherHandlerInterceptor.urlPath("/mob", "/tab", "/app"); device.setDeviceType(DeviceType.TABLET); request.setRequestURI("/app/mob/"); request.addParameter("site_preference", "tablet"); assertFalse(urlPath.preHandle(request, response, null)); assertEquals(1, response.getCookies().length); assertEquals("TABLET", response.getCookies()[0].getValue()); assertEquals("http://" + request.getServerName() + "/app/tab/", response.getRedirectedUrl()); }
@Test public void urlPathNormalDeviceNormalPreferenceRequestMobileSite() throws Exception { SiteSwitcherHandlerInterceptor urlPath = SiteSwitcherHandlerInterceptor.urlPath("/mob"); device.setDeviceType(DeviceType.NORMAL); request.setRequestURI("/mob"); request.addParameter("site_preference", "normal"); assertFalse(urlPath.preHandle(request, response, null)); assertEquals(1, response.getCookies().length); assertEquals("NORMAL", response.getCookies()[0].getValue()); assertEquals("http://" + request.getServerName(), response.getRedirectedUrl()); }
@Test public void urlPathRootPathMobileDeviceNoPreferenceQueryString() throws Exception { SiteSwitcherHandlerInterceptor urlPath = SiteSwitcherHandlerInterceptor.urlPath("/mob", "/app"); device.setDeviceType(DeviceType.MOBILE); request.setQueryString("x=123"); assertFalse(urlPath.preHandle(request, response, null)); assertEquals(0, response.getCookies().length); assertEquals("http://" + request.getServerName() + "/app/mob?x=123", response.getRedirectedUrl()); }