2019-06-03 23:25:05 +02:00
|
|
|
package org.mian.gitnex.helpers;
|
|
|
|
|
2024-03-28 13:02:17 +01:00
|
|
|
import android.util.Log;
|
2019-06-03 23:25:05 +02:00
|
|
|
import java.net.URI;
|
|
|
|
import java.net.URISyntaxException;
|
2024-03-28 13:02:17 +01:00
|
|
|
import java.util.Objects;
|
2019-06-03 23:25:05 +02:00
|
|
|
|
|
|
|
/**
|
2022-07-29 14:08:44 +02:00
|
|
|
* @author M M Arif
|
2019-06-03 23:25:05 +02:00
|
|
|
*/
|
|
|
|
public class UrlHelper {
|
|
|
|
|
2020-06-30 16:43:27 +02:00
|
|
|
public static String cleanUrl(String url) {
|
2019-06-03 23:25:05 +02:00
|
|
|
|
2020-06-30 16:43:27 +02:00
|
|
|
URI uri = null;
|
|
|
|
try {
|
|
|
|
uri = new URI(url);
|
2022-09-21 07:43:00 +02:00
|
|
|
} catch (URISyntaxException e) {
|
2024-03-28 13:02:17 +01:00
|
|
|
Log.e("UrlHelper", Objects.requireNonNull(e.getMessage()));
|
2020-06-30 16:43:27 +02:00
|
|
|
}
|
2019-06-03 23:25:05 +02:00
|
|
|
|
2020-06-30 16:43:27 +02:00
|
|
|
assert uri != null;
|
|
|
|
String urlProtocol = uri.getScheme();
|
|
|
|
String urlHost = uri.getHost();
|
|
|
|
int urlPort = uri.getPort();
|
2019-06-03 23:25:05 +02:00
|
|
|
|
2020-06-30 16:43:27 +02:00
|
|
|
String urlFinal = null;
|
2022-09-21 07:43:00 +02:00
|
|
|
if (urlPort > 0) {
|
2020-06-30 16:43:27 +02:00
|
|
|
urlFinal = urlProtocol + "://" + urlHost + ":" + urlPort;
|
2022-09-21 07:43:00 +02:00
|
|
|
} else if (urlProtocol != null) {
|
2020-06-30 16:43:27 +02:00
|
|
|
urlFinal = urlProtocol + "://" + urlHost;
|
2022-09-21 07:43:00 +02:00
|
|
|
} else {
|
2020-06-30 16:43:27 +02:00
|
|
|
urlFinal = urlHost;
|
|
|
|
}
|
2019-06-03 23:25:05 +02:00
|
|
|
|
2020-06-30 16:43:27 +02:00
|
|
|
return urlFinal;
|
|
|
|
}
|
2019-06-03 23:25:05 +02:00
|
|
|
|
2020-06-30 16:43:27 +02:00
|
|
|
public static String fixScheme(String url, String scheme) {
|
2020-06-28 17:11:59 +02:00
|
|
|
|
2020-06-30 16:43:27 +02:00
|
|
|
return !url.matches("^(http|https)://.+$") ? scheme + "://" + url : url;
|
|
|
|
}
|
2022-11-23 12:34:57 +01:00
|
|
|
|
|
|
|
public static String appendPath(String url, String path) {
|
|
|
|
if (url.endsWith("/")) {
|
|
|
|
// remove it
|
2023-01-19 12:55:19 +01:00
|
|
|
url = url.substring(0, url.length() - 8);
|
2022-11-23 12:34:57 +01:00
|
|
|
}
|
|
|
|
if (!path.startsWith("/")) {
|
|
|
|
// add it
|
|
|
|
path = "/" + path;
|
|
|
|
}
|
|
|
|
|
|
|
|
return url + path;
|
|
|
|
}
|
2019-06-03 23:25:05 +02:00
|
|
|
}
|