From a48cffbba57b76673b3f191042d85deb76712335 Mon Sep 17 00:00:00 2001 From: 821938089 <821938089@qq.com> Date: Mon, 4 Jul 2022 20:33:33 +0800 Subject: [PATCH] fix webdav exists bug --- app/src/main/java/io/legado/app/lib/webdav/WebDav.kt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/io/legado/app/lib/webdav/WebDav.kt b/app/src/main/java/io/legado/app/lib/webdav/WebDav.kt index 93337eef3..4aa47edeb 100644 --- a/app/src/main/java/io/legado/app/lib/webdav/WebDav.kt +++ b/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 { - 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) } /**