Move extractBaseUrl

This commit is contained in:
Philipp Heckel 2026-01-01 16:59:38 -05:00
parent 4cb07c5912
commit bd351e85b5
5 changed files with 14 additions and 32 deletions

View file

@ -10,7 +10,6 @@ import io.heckel.ntfy.db.User
import io.heckel.ntfy.tls.SSLManager
import io.heckel.ntfy.util.*
import okhttp3.*
import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
import okhttp3.RequestBody.Companion.toRequestBody
import java.io.IOException
import java.net.URLEncoder
@ -250,12 +249,5 @@ class ApiService(private val context: Context) {
}
return builder
}
private fun extractBaseUrl(url: String): String {
val httpUrl = url.toHttpUrlOrNull() ?: return ""
val schemeAndHost = "${httpUrl.scheme}://${httpUrl.host}"
val maybePort = if (httpUrl.port != 80 && httpUrl.port != 443) ":${httpUrl.port}" else ""
return schemeAndHost + maybePort
}
}
}

View file

@ -16,7 +16,7 @@ import io.heckel.ntfy.db.*
import io.heckel.ntfy.tls.SSLManager
import io.heckel.ntfy.util.Log
import io.heckel.ntfy.util.ensureSafeNewFile
import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
import io.heckel.ntfy.util.extractBaseUrl
import okhttp3.OkHttpClient
import okhttp3.Request
import okhttp3.Response
@ -35,13 +35,7 @@ class DownloadAttachmentWorker(private val context: Context, params: WorkerParam
.writeTimeout(15, TimeUnit.SECONDS)
.build()
}
private fun extractBaseUrl(url: String): String {
val httpUrl = url.toHttpUrlOrNull() ?: return ""
val schemeAndHost = "${httpUrl.scheme}://${httpUrl.host}"
val maybePort = if (httpUrl.port != 80 && httpUrl.port != 443) ":${httpUrl.port}" else ""
return schemeAndHost + maybePort
}
private val notifier = NotificationService(context)
private lateinit var repository: Repository
private lateinit var subscription: Subscription

View file

@ -10,8 +10,8 @@ import io.heckel.ntfy.app.Application
import io.heckel.ntfy.db.*
import io.heckel.ntfy.tls.SSLManager
import io.heckel.ntfy.util.Log
import io.heckel.ntfy.util.extractBaseUrl
import io.heckel.ntfy.util.sha256
import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
import okhttp3.OkHttpClient
import okhttp3.Request
import okhttp3.Response
@ -31,13 +31,7 @@ class DownloadIconWorker(private val context: Context, params: WorkerParameters)
.writeTimeout(15, TimeUnit.SECONDS)
.build()
}
private fun extractBaseUrl(url: String): String {
val httpUrl = url.toHttpUrlOrNull() ?: return ""
val schemeAndHost = "${httpUrl.scheme}://${httpUrl.host}"
val maybePort = if (httpUrl.port != 80 && httpUrl.port != 443) ":${httpUrl.port}" else ""
return schemeAndHost + maybePort
}
private val notifier = NotificationService(context)
private lateinit var repository: Repository
private lateinit var subscription: Subscription

View file

@ -10,7 +10,7 @@ import io.heckel.ntfy.msg.NotificationService.Companion.ACTION_BROADCAST
import io.heckel.ntfy.msg.NotificationService.Companion.ACTION_HTTP
import io.heckel.ntfy.tls.SSLManager
import io.heckel.ntfy.util.Log
import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
import io.heckel.ntfy.util.extractBaseUrl
import okhttp3.OkHttpClient
import okhttp3.Request
import okhttp3.RequestBody.Companion.toRequestBody
@ -29,13 +29,7 @@ class UserActionWorker(private val context: Context, params: WorkerParameters) :
.writeTimeout(15, TimeUnit.SECONDS)
.build()
}
private fun extractBaseUrl(url: String): String {
val httpUrl = url.toHttpUrlOrNull() ?: return ""
val schemeAndHost = "${httpUrl.scheme}://${httpUrl.host}"
val maybePort = if (httpUrl.port != 80 && httpUrl.port != 443) ":${httpUrl.port}" else ""
return schemeAndHost + maybePort
}
private val notifier = NotificationService(context)
private val broadcaster = BroadcastService(context)
private lateinit var repository: Repository

View file

@ -35,6 +35,7 @@ import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
import okhttp3.MediaType
import okhttp3.MediaType.Companion.toMediaTypeOrNull
import okhttp3.RequestBody
@ -77,6 +78,13 @@ fun shortUrl(url: String) = url
.replace("http://", "")
.replace("https://", "")
fun extractBaseUrl(url: String): String {
val httpUrl = url.toHttpUrlOrNull() ?: return ""
val schemeAndHost = "${httpUrl.scheme}://${httpUrl.host}"
val maybePort = if (httpUrl.port != 80 && httpUrl.port != 443) ":${httpUrl.port}" else ""
return schemeAndHost + maybePort
}
fun splitTopicUrl(topicUrl: String): Pair<String, String> {
if (topicUrl.lastIndexOf("/") == -1) throw Exception("Invalid argument $topicUrl")
return Pair(topicUrl.substringBeforeLast("/"), topicUrl.substringAfterLast("/"))