public List<String> getVersions() { httpClient = new HttpClient(config()); try { List<URL> drivers = getDrivers(); List<String> versions = new ArrayList<>(); for (URL url : drivers) { String version = getCurrentVersion(url, getDriverName()); if (version.isEmpty() || version.equalsIgnoreCase("icons")) { continue; } if (version.startsWith(".")) { version = version.substring(1); } if (!versions.contains(version)) { versions.add(version); } } log.trace("Version list before sorting {}", versions); sort(versions, new VersionComparator()); return versions; } catch (IOException e) { throw new WebDriverManagerException(e); } }
try { String proxy = config.getProxy(); Optional<HttpHost> proxyHost = createProxyHttpHost(proxy); if (proxyHost.isPresent()) { builder.setProxy(proxyHost.get()); Optional<BasicCredentialsProvider> credentialsProvider = createBasicCredentialsProvider( proxy, config.getProxyUser(), config.getProxyPass(), proxyHost.get());
private InputStream getOnlineVersionsInputStream() throws IOException { return httpClient .execute(httpClient .createHttpGet(config().getVersionsPropertiesUrl())) .getEntity().getContent(); }
HttpHost proxyHost) throws MalformedURLException, UnsupportedEncodingException { Optional<URL> proxyUrl = determineProxyUrl(proxy); if (!proxyUrl.isPresent()) { return empty(); proxyHost.getPort(), ANY_REALM, NTLM); Credentials creds = new NTCredentials(ntlmUsername, password, getWorkstation(), ntlmDomain); credentialsProvider.setCredentials(authScope, creds);
public Optional<Proxy> createProxy(String proxy) throws MalformedURLException { Optional<URL> url = determineProxyUrl(proxy); if (url.isPresent()) { String proxyHost = url.get().getHost(); int proxyPort = url.get().getPort() == -1 ? 80 : url.get().getPort(); return Optional.of(new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyHost, proxyPort))); } return empty(); }
private final Optional<HttpHost> createProxyHttpHost(String proxyUrl) throws MalformedURLException { Optional<Proxy> proxy = createProxy(proxyUrl); if (proxy.isPresent() && proxy.get().address() != null) { if (!(proxy.get().address() instanceof InetSocketAddress)) { String errorMessage = "Detect an unsupported subclass of SocketAddress. " + "Please use the InetSocketAddress or subclass. Actual:" + proxy.get().address().getClass(); log.error(errorMessage); throw new WebDriverManagerException(errorMessage); } InetSocketAddress proxyAddress = (InetSocketAddress) proxy.get() .address(); return Optional.of(new HttpHost(proxyAddress.getHostName(), proxyAddress.getPort())); } return empty(); }
HttpHost proxyHost) throws MalformedURLException, UnsupportedEncodingException { Optional<URL> proxyUrl = determineProxyUrl(proxy); if (!proxyUrl.isPresent()) { return empty(); proxyHost.getPort(), ANY_REALM, NTLM); Credentials creds = new NTCredentials(ntlmUsername, password, getWorkstation(), ntlmDomain); credentialsProvider.setCredentials(authScope, creds);
public Optional<Proxy> createProxy(String proxy) throws MalformedURLException { Optional<URL> url = determineProxyUrl(proxy); if (url.isPresent()) { String proxyHost = url.get().getHost(); int proxyPort = url.get().getPort() == -1 ? 80 : url.get().getPort(); return Optional.of(new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyHost, proxyPort))); } return empty(); }
private final Optional<HttpHost> createProxyHttpHost(String proxyUrl) throws MalformedURLException { Optional<Proxy> proxy = createProxy(proxyUrl); if (proxy.isPresent() && proxy.get().address() != null) { if (!(proxy.get().address() instanceof InetSocketAddress)) { String errorMessage = "Detect an unsupported subclass of SocketAddress. " + "Please use the InetSocketAddress or subclass. Actual:" + proxy.get().address().getClass(); log.error(errorMessage); throw new WebDriverManagerException(errorMessage); } InetSocketAddress proxyAddress = (InetSocketAddress) proxy.get() .address(); return Optional.of(new HttpHost(proxyAddress.getHostName(), proxyAddress.getPort())); } return empty(); }
protected List<URL> getDriversFromXml(URL driverUrl) throws IOException { log.info("Reading {} to seek {}", driverUrl, getDriverName()); List<URL> urls = new ArrayList<>(); HttpResponse response = httpClient .execute(httpClient.createHttpGet(driverUrl)); try { try (BufferedReader reader = new BufferedReader( new InputStreamReader(response.getEntity().getContent()))) { Document xml = loadXML(reader); NodeList nodes = (NodeList) newInstance().newXPath().evaluate( "//Contents/Key", xml.getDocumentElement(), NODESET); for (int i = 0; i < nodes.getLength(); ++i) { Element e = (Element) nodes.item(i); urls.add(new URL(driverUrl + e.getChildNodes().item(0).getNodeValue())); } } } catch (Exception e) { throw new WebDriverManagerException(e); } return urls; }
try { String proxy = config.getProxy(); Optional<HttpHost> proxyHost = createProxyHttpHost(proxy); if (proxyHost.isPresent()) { builder.setProxy(proxyHost.get()); Optional<BasicCredentialsProvider> credentialsProvider = createBasicCredentialsProvider( proxy, config.getProxyUser(), config.getProxyPass(), proxyHost.get());
@Override public List<String> getVersions() { httpClient = new HttpClient(config()); try { getDrivers(); sort(listVersions, new VersionComparator()); return listVersions; } catch (IOException e) { throw new WebDriverManagerException(e); } }
.execute(httpClient.createHttpGet(driverUrl)); try (InputStream in = response.getEntity().getContent()) { org.jsoup.nodes.Document doc = Jsoup.parse(in, null, "");
protected void manage(Architecture arch, String version) { httpClient = new HttpClient(config()); try (HttpClient wdmHttpClient = httpClient) { downloader = new Downloader(getDriverManagerType());
protected InputStream openGitHubConnection(URL driverUrl) throws IOException { HttpGet get = httpClient.createHttpGet(driverUrl); String gitHubTokenName = config().getGitHubTokenName(); String gitHubTokenSecret = config().getGitHubTokenSecret(); if (!isNullOrEmpty(gitHubTokenName) && !isNullOrEmpty(gitHubTokenSecret)) { String userpass = gitHubTokenName + ":" + gitHubTokenSecret; String basicAuth = "Basic " + new String(new Base64().encode(userpass.getBytes())); get.addHeader("Authorization", basicAuth); } return httpClient.execute(get).getEntity().getContent(); }
public List<String> getVersions() { httpClient = new HttpClient(config()); try { List<URL> drivers = getDrivers(); List<String> versions = new ArrayList<>(); for (URL url : drivers) { String version = getCurrentVersion(url, getDriverName()); if (version.isEmpty() || version.equalsIgnoreCase("icons")) { continue; } if (version.startsWith(".")) { version = version.substring(1); } if (!versions.contains(version)) { versions.add(version); } } log.trace("Version list before sorting {}", versions); sort(versions, new VersionComparator()); return versions; } catch (IOException e) { throw new WebDriverManagerException(e); } }
.execute(httpClient.createHttpGet(driverUrl)).getEntity() .getContent()) { Document doc = parse(in, null, "");
@Override public List<String> getVersions() { httpClient = new HttpClient(config()); try { getDrivers(); sort(listVersions, new VersionComparator()); return listVersions; } catch (IOException e) { throw new WebDriverManagerException(e); } }
private Optional<File> downloadAndExtract(URL url, File targetFile) throws IOException, InterruptedException { log.info("Downloading {}", url); File targetFolder = targetFile.getParentFile(); File tempDir = createTempDirectory("").toFile(); File temporaryFile = new File(tempDir, targetFile.getName()); log.trace("Target folder {} ... using temporal file {}", targetFolder, temporaryFile); copyInputStreamToFile(httpClient.execute(httpClient.createHttpGet(url)) .getEntity().getContent(), temporaryFile); File extractedFile = extract(temporaryFile); File resultingBinary = new File(targetFolder, extractedFile.getName()); boolean binaryExists = resultingBinary.exists(); if (!binaryExists || config.isOverride()) { if (binaryExists) { log.info("Overriding former binary {}", resultingBinary); deleteFile(resultingBinary); } moveFileToDirectory(extractedFile, targetFolder, true); } if (!config.isExecutable(resultingBinary)) { setFileExecutable(resultingBinary); } deleteFolder(tempDir); log.trace("Binary driver after extraction {}", resultingBinary); return of(resultingBinary); }
protected void manage(Architecture arch, String version) { httpClient = new HttpClient(config()); try (HttpClient wdmHttpClient = httpClient) { downloader = new Downloader(getDriverManagerType());