@Override public boolean matches(WebRequest request) { String url = request.getUrl().toExternalForm(); return this.pattern.matcher(url).matches(); }
private UriComponents uriComponents() { URL url = this.webRequest.getUrl(); return UriComponentsBuilder.fromUriString(url.toExternalForm()).build(); }
@Override public boolean matches(WebRequest request) { URL url = request.getUrl(); String host = url.getHost(); if (this.hosts.contains(host)) { return true; } int port = url.getPort(); if (port == -1) { port = url.getDefaultPort(); } String hostAndPort = host + ":" + port; return this.hosts.contains(hostAndPort); }
private void storeCookies(WebRequest webRequest, javax.servlet.http.Cookie[] cookies) { Date now = new Date(); CookieManager cookieManager = this.webClient.getCookieManager(); for (javax.servlet.http.Cookie cookie : cookies) { if (cookie.getDomain() == null) { cookie.setDomain(webRequest.getUrl().getHost()); } Cookie toManage = createCookie(cookie); Date expires = toManage.getExpires(); if (expires == null || expires.after(now)) { cookieManager.addCookie(toManage); } else { cookieManager.removeCookie(toManage); } } }
private void cookies(MockHttpServletRequest request) { List<Cookie> cookies = new ArrayList<>(); String cookieHeaderValue = header("Cookie"); if (cookieHeaderValue != null) { StringTokenizer tokens = new StringTokenizer(cookieHeaderValue, "=;"); while (tokens.hasMoreTokens()) { String cookieName = tokens.nextToken().trim(); Assert.isTrue(tokens.hasMoreTokens(), () -> "Expected value for cookie name '" + cookieName + "': full cookie header was [" + cookieHeaderValue + "]"); String cookieValue = tokens.nextToken().trim(); processCookie(request, cookies, new Cookie(cookieName, cookieValue)); } } Set<com.gargoylesoftware.htmlunit.util.Cookie> managedCookies = this.webClient.getCookies(this.webRequest.getUrl()); for (com.gargoylesoftware.htmlunit.util.Cookie cookie : managedCookies) { processCookie(request, cookies, new Cookie(cookie.getName(), cookie.getValue())); } Cookie[] parentCookies = request.getCookies(); if (parentCookies != null) { for (Cookie cookie : parentCookies) { cookies.add(cookie); } } if (!ObjectUtils.isEmpty(cookies)) { request.setCookies(cookies.toArray(new Cookie[0])); } }
private URI uri(WebRequest webRequest) { URL url = webRequest.getUrl(); return URI.create(url.toExternalForm()); }
private void ports(UriComponents uriComponents, MockHttpServletRequest request) { int serverPort = uriComponents.getPort(); request.setServerPort(serverPort); if (serverPort == -1) { int portConnection = this.webRequest.getUrl().getDefaultPort(); request.setLocalPort(serverPort); request.setRemotePort(portConnection); } else { request.setRemotePort(serverPort); } }
private void cookies(WebTestClient.RequestBodySpec request, WebRequest webRequest) { String cookieHeaderValue = header("Cookie", webRequest); if (cookieHeaderValue != null) { StringTokenizer tokens = new StringTokenizer(cookieHeaderValue, "=;"); while (tokens.hasMoreTokens()) { String cookieName = tokens.nextToken().trim(); Assert.isTrue(tokens.hasMoreTokens(), () -> "Expected value for cookie name '" + cookieName + "': full cookie header was [" + cookieHeaderValue + "]"); String cookieValue = tokens.nextToken().trim(); request.cookie(cookieName, cookieValue); } } Set<com.gargoylesoftware.htmlunit.util.Cookie> managedCookies = this.webClient.getCookies(webRequest.getUrl()); for (com.gargoylesoftware.htmlunit.util.Cookie cookie : managedCookies) { request.cookie(cookie.getName(), cookie.getValue()); } }
webClient.setWebConnection(new FalsifyingWebConnection(webClient) { @Override public WebResponse getResponse(WebRequest request) throws IOException { if(request.getUrl().getPath().toLowerCase().equals("some url i don't need ")) { return createWebResponse(request, "", "application/javascript"); } return super.getResponse(request); } });
@Override public URI getUri() { try { return request.getUrl().toURI(); } catch (URISyntaxException e) { throw new RuntimeException(e); } }
/** * Returns a new HttpClient host configuration, initialized based on the specified request. * @param webRequest the request to use to initialize the returned host configuration * @return a new HttpClient host configuration, initialized based on the specified request */ private static HttpHost getHostConfiguration(final WebRequest webRequest) { final URL url = webRequest.getUrl(); return new HttpHost(url.getHost(), url.getPort(), url.getProtocol()); }
@Override public String toString() { return "XMLHttpRequest " + webRequest_.getHttpMethod() + " '" + webRequest_.getUrl() + "'"; } };
@Override protected boolean isCacheable(WebRequest request, WebResponse response) { final boolean isGetRequestForStaticContent = super.isCacheable(request, response); final boolean isRequestForNoopJsp = response.getWebRequest().getUrl().toString().contains("noop.jsp"); final boolean hasNoRequestParameters = request.getRequestParameters().isEmpty(); final boolean requestHasNoQueryString = !response.getWebRequest().getUrl().toString().contains("?"); return isGetRequestForStaticContent || (isRequestForNoopJsp && hasNoRequestParameters && requestHasNoQueryString); }
private static String getSuffix(final WebResponse response) { // first try to take the one from the requested file final String url = response.getWebRequest().getUrl().toString(); final String fileName = StringUtils.substringAfterLast(StringUtils.substringBefore(url, "?"), "/"); // if there is a suffix with 2-4 letters, the take it final String suffix = StringUtils.substringAfterLast(fileName, "."); if (suffix.length() > 1 && suffix.length() < 5) { return suffix; } // use content type return MimeType.getFileExtension(response.getContentType()); }
/** * Returns the URL of this page. * @return the URL of this page */ @Override public URL getUrl() { return getWebResponse().getWebRequest().getUrl(); }
/** * Returns the URL of this page. * @return the URL of this page */ @Override public URL getUrl() { return getWebResponse().getWebRequest().getUrl(); }
private static String buildMessage(final WebResponse failingResponse) { final int code = failingResponse.getStatusCode(); final String msg = failingResponse.getStatusMessage(); final URL url = failingResponse.getWebRequest().getUrl(); return code + " " + msg + " for " + url; }
@Override public void printContentIfNecessary(WebResponse webResponse) { int statusCode = webResponse.getStatusCode(); if (getOptions().getPrintContentOnFailingStatusCode() && !(statusCode >= SC_OK && statusCode < SC_MULTIPLE_CHOICES)) { logger.log(SEVERE, webResponse.getWebRequest().getUrl().toExternalForm()); } super.printContentIfNecessary(webResponse); } };
private HistoryEntry(final Page page) { // verify cache-control header values before storing if (HeaderUtils.containsNoStore(page.getWebResponse())) { page_ = null; } else { page_ = new SoftReference<>(page); } final WebRequest request = page.getWebResponse().getWebRequest(); webRequest_ = new WebRequest(request.getUrl(), request.getHttpMethod()); webRequest_.setRequestParameters(request.getRequestParameters()); }
private void ports(UriComponents uriComponents, MockHttpServletRequest request) { int serverPort = uriComponents.getPort(); request.setServerPort(serverPort); if (serverPort == -1) { int portConnection = this.webRequest.getUrl().getDefaultPort(); request.setLocalPort(serverPort); request.setRemotePort(portConnection); } else { request.setRemotePort(serverPort); } }