| Index: mobile/android/thirdparty/org/adblockplus/browser/UrlUtils.java |
| =================================================================== |
| new file mode 100644 |
| --- /dev/null |
| +++ b/mobile/android/thirdparty/org/adblockplus/browser/UrlUtils.java |
| @@ -0,0 +1,86 @@ |
| +/* |
| + * This file is part of Adblock Plus <https://adblockplus.org/>, |
| + * Copyright (C) 2006-present eyeo GmbH |
| + * |
| + * Adblock Plus is free software: you can redistribute it and/or modify |
| + * it under the terms of the GNU General Public License version 3 as |
| + * published by the Free Software Foundation. |
| + * |
| + * Adblock Plus is distributed in the hope that it will be useful, |
| + * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| + * GNU General Public License for more details. |
| + * |
| + * You should have received a copy of the GNU General Public License |
| + * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. |
| + */ |
| + |
| +package org.adblockplus.browser; |
| + |
| +import java.net.MalformedURLException; |
| +import java.net.URL; |
| + |
| +public class UrlUtils |
| +{ |
| + |
|
anton
2017/09/26 06:24:07
the line seems to be not required
diegocarloslima
2017/09/26 12:24:44
Acknowledged.
|
| + private static final String SCHEME_HTTP = "http"; |
| + private static final String SCHEME_SEPARATOR = "://"; |
| + private static final String WWW_HOST_PART = "www."; |
| + |
| + public static String formatUrl(String urlStr) |
| + { |
| + try |
| + { |
| + URL url = new URL(urlStr); |
| + return url.toExternalForm(); |
| + } |
| + catch (MalformedURLException e) |
| + { |
| + try |
| + { |
| + // The URL might be malformed due to a missing protocol. If so, we try to recreate the URL |
| + // by adding the HTTP protocol |
| + URL url = new URL(SCHEME_HTTP + SCHEME_SEPARATOR + urlStr); |
| + return url.toExternalForm(); |
| + } |
| + catch (MalformedURLException e2) |
| + { |
| + } |
| + } |
| + return null; |
| + } |
| + |
| + public static String getHostFromUrl(String urlStr) |
| + { |
| + try |
| + { |
| + final URL url = new URL(formatUrl(urlStr)); |
| + String host = url.getHost(); |
| + if (host != null) |
| + { |
| + // The www. part of the host is not relevant for us, so we remove it |
| + if (host.startsWith(WWW_HOST_PART)) |
| + { |
| + host = host.substring(WWW_HOST_PART.length()); |
| + } |
| + return host; |
| + } |
| + } |
| + catch (MalformedURLException e) |
| + { |
| + } |
| + return null; |
| + } |
| + |
| + public static boolean isSchemeHttpOrHttps(String urlStr) |
| + { |
| + try |
| + { |
| + return new URL(urlStr).getProtocol().contains(SCHEME_HTTP); |
| + } |
| + catch (MalformedURLException e) |
| + { |
| + } |
| + return false; |
| + } |
| +} |