821938089 пре 4 година
родитељ
комит
6e38daab63
1 измењених фајлова са 10 додато и 1 уклоњено
  1. 10 1
      app/src/main/java/io/legado/app/lib/webdav/WebDav.kt

+ 10 - 1
app/src/main/java/io/legado/app/lib/webdav/WebDav.kt

@@ -171,7 +171,16 @@ open class WebDav(val path: String, val authorization: Authorization) {
      * 文件是否存在
      * 文件是否存在
      */
      */
     suspend fun exists(): Boolean {
     suspend fun exists(): Boolean {
-        return getWebDavFile() != null
+        return kotlin.runCatching {
+            val requestPropsStr = DIR.replace("%s", "")
+            return okHttpClient.newCallResponse {
+                url(url)
+                addHeader(authorization.name, authorization.data)
+                addHeader("Depth", "0")
+                val requestBody = requestPropsStr.toRequestBody("application/xml".toMediaType())
+                method("PROPFIND", requestBody)
+            }.code == 207
+        }.getOrDefault(false)
     }
     }
 
 
     /**
     /**