Loading src/main/kotlin/foundation/e/dav4jvm/DavAddressBook.kt +30 −10 Original line number Diff line number Diff line Loading @@ -60,11 +60,21 @@ class DavAddressBook @JvmOverloads constructor( serializer.endDocument() followRedirects { if (accessToken.isNullOrEmpty()) { httpClient.newCall(Request.Builder() .url(location) .method("REPORT", RequestBody.create(MIME_XML, writer.toString())) .header("Depth", "1") .build()).execute() } else { httpClient.newCall(Request.Builder() .url(location) .method("REPORT", RequestBody.create(MIME_XML, writer.toString())) .header("Depth", "1") .header("Authorization", "Bearer $accessToken") .build()).execute() } }.use { response -> return processMultiStatus(response, callback) } Loading Loading @@ -118,11 +128,21 @@ class DavAddressBook @JvmOverloads constructor( serializer.endDocument() followRedirects { if (accessToken.isNullOrEmpty()) { httpClient.newCall(Request.Builder() .url(location) .method("REPORT", RequestBody.create(MIME_XML, writer.toString())) .header("Depth", "0") // "The request MUST include a Depth: 0 header [...]" .build()).execute() } else { httpClient.newCall(Request.Builder() .url(location) .method("REPORT", RequestBody.create(MIME_XML, writer.toString())) .header("Depth", "0") // "The request MUST include a Depth: 0 header [...]" .header("Authorization", "Bearer $accessToken") .build()).execute() } }.use { return processMultiStatus(it, callback) } Loading src/main/kotlin/foundation/e/dav4jvm/DavCalendar.kt +28 −9 Original line number Diff line number Diff line Loading @@ -91,11 +91,21 @@ class DavCalendar @JvmOverloads constructor( serializer.endDocument() followRedirects { if (accessToken.isNullOrEmpty()) { httpClient.newCall(Request.Builder() .url(location) .method("REPORT", RequestBody.create(MIME_XML, writer.toString())) .header("Depth", "1") .build()).execute() } else { httpClient.newCall(Request.Builder() .url(location) .method("REPORT", RequestBody.create(MIME_XML, writer.toString())) .header("Depth", "1") .header("Authorization", "Bearer $accessToken") .build()).execute() } }.use { return processMultiStatus(it, callback) } Loading Loading @@ -144,10 +154,19 @@ class DavCalendar @JvmOverloads constructor( serializer.endDocument() followRedirects { if (accessToken.isNullOrEmpty()) { httpClient.newCall(Request.Builder() .url(location) .method("REPORT", RequestBody.create(MIME_XML, writer.toString())) .build()).execute() } else { httpClient.newCall(Request.Builder() .url(location) .method("REPORT", RequestBody.create(MIME_XML, writer.toString())) .header("Authorization", "Bearer $accessToken") .build()).execute() } }.use { return processMultiStatus(it, callback) } Loading src/main/kotlin/foundation/e/dav4jvm/DavCollection.kt +16 −9 Original line number Diff line number Diff line Loading @@ -9,10 +9,7 @@ package foundation.e.dav4jvm import foundation.e.dav4jvm.exception.DavException import foundation.e.dav4jvm.exception.HttpException import foundation.e.dav4jvm.property.SyncToken import okhttp3.HttpUrl import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.RequestBody import okhttp3.* import java.io.StringWriter import java.util.logging.Logger Loading Loading @@ -82,11 +79,21 @@ open class DavCollection @JvmOverloads constructor( serializer.endDocument() followRedirects { if (accessToken.isNullOrEmpty()) { httpClient.newCall(Request.Builder() .url(location) .method("REPORT", RequestBody.create(MIME_XML, writer.toString())) .header("Depth", "0") .build()).execute() } else { httpClient.newCall(Request.Builder() .url(location) .method("REPORT", RequestBody.create(MIME_XML, writer.toString())) .header("Depth", "0") .header("Authorization", "Bearer $accessToken") .build()).execute() } }.use { return processMultiStatus(it, callback) } Loading src/main/kotlin/foundation/e/dav4jvm/DavResource.kt +50 −14 Original line number Diff line number Diff line Loading @@ -160,10 +160,18 @@ open class DavResource @JvmOverloads constructor( if(forceOverride) requestBuilder.header("Overwrite", "F") followRedirects { if (accessToken.isNullOrEmpty()) { requestBuilder.url(location) httpClient.newCall(requestBuilder .build()) .execute() } else { requestBuilder.url(location) requestBuilder.header("Authorization", "Bearer $accessToken") httpClient.newCall(requestBuilder .build()) .execute() } }.use{ response -> checkStatus(response) Loading @@ -188,10 +196,19 @@ open class DavResource @JvmOverloads constructor( val rqBody = if (xmlBody != null) RequestBody.create(MIME_XML, xmlBody) else null followRedirects { if (accessToken.isNullOrEmpty()) { httpClient.newCall(Request.Builder() .method("MKCOL", rqBody) .url(location) .build()).execute() } else { httpClient.newCall(Request.Builder() .method("MKCOL", rqBody) .url(location) .header("Authorization", "Bearer $accessToken") .build()).execute() } }.use { response -> checkStatus(response) callback(response) Loading @@ -213,12 +230,23 @@ open class DavResource @JvmOverloads constructor( @Throws(IOException::class, HttpException::class) fun get(accept: String, callback: (response: Response) -> Unit) { followRedirects { if (accessToken.isNullOrEmpty()) { httpClient.newCall(Request.Builder() .get() .url(location) .header("Accept", accept) .header("Accept-Encoding", "identity") // disable compression because it can change the ETag .build()).execute() } else { httpClient.newCall(Request.Builder() .get() .url(location) .header("Accept", accept) .header("Accept-Encoding", "identity") // disable compression because it can change the ETag .header("Authorization", "Bearer $accessToken") .build()).execute() } }.use { response -> checkStatus(response) callback(response) Loading Loading @@ -252,6 +280,10 @@ open class DavResource @JvmOverloads constructor( // don't overwrite anything existing builder.header("If-None-Match", "*") if (!accessToken.isNullOrEmpty()) { builder.header("Authorization", "Bearer $accessToken") } httpClient.newCall(builder.build()).execute() }.use { response -> checkStatus(response) Loading Loading @@ -281,6 +313,10 @@ open class DavResource @JvmOverloads constructor( if (ifMatchETag != null) builder.header("If-Match", QuotedStringUtils.asQuotedString(ifMatchETag)) if (!accessToken.isNullOrEmpty()) { builder.header("Authorization", "Bearer $accessToken") } httpClient.newCall(builder.build()).execute() }.use { response -> checkStatus(response) Loading Loading
src/main/kotlin/foundation/e/dav4jvm/DavAddressBook.kt +30 −10 Original line number Diff line number Diff line Loading @@ -60,11 +60,21 @@ class DavAddressBook @JvmOverloads constructor( serializer.endDocument() followRedirects { if (accessToken.isNullOrEmpty()) { httpClient.newCall(Request.Builder() .url(location) .method("REPORT", RequestBody.create(MIME_XML, writer.toString())) .header("Depth", "1") .build()).execute() } else { httpClient.newCall(Request.Builder() .url(location) .method("REPORT", RequestBody.create(MIME_XML, writer.toString())) .header("Depth", "1") .header("Authorization", "Bearer $accessToken") .build()).execute() } }.use { response -> return processMultiStatus(response, callback) } Loading Loading @@ -118,11 +128,21 @@ class DavAddressBook @JvmOverloads constructor( serializer.endDocument() followRedirects { if (accessToken.isNullOrEmpty()) { httpClient.newCall(Request.Builder() .url(location) .method("REPORT", RequestBody.create(MIME_XML, writer.toString())) .header("Depth", "0") // "The request MUST include a Depth: 0 header [...]" .build()).execute() } else { httpClient.newCall(Request.Builder() .url(location) .method("REPORT", RequestBody.create(MIME_XML, writer.toString())) .header("Depth", "0") // "The request MUST include a Depth: 0 header [...]" .header("Authorization", "Bearer $accessToken") .build()).execute() } }.use { return processMultiStatus(it, callback) } Loading
src/main/kotlin/foundation/e/dav4jvm/DavCalendar.kt +28 −9 Original line number Diff line number Diff line Loading @@ -91,11 +91,21 @@ class DavCalendar @JvmOverloads constructor( serializer.endDocument() followRedirects { if (accessToken.isNullOrEmpty()) { httpClient.newCall(Request.Builder() .url(location) .method("REPORT", RequestBody.create(MIME_XML, writer.toString())) .header("Depth", "1") .build()).execute() } else { httpClient.newCall(Request.Builder() .url(location) .method("REPORT", RequestBody.create(MIME_XML, writer.toString())) .header("Depth", "1") .header("Authorization", "Bearer $accessToken") .build()).execute() } }.use { return processMultiStatus(it, callback) } Loading Loading @@ -144,10 +154,19 @@ class DavCalendar @JvmOverloads constructor( serializer.endDocument() followRedirects { if (accessToken.isNullOrEmpty()) { httpClient.newCall(Request.Builder() .url(location) .method("REPORT", RequestBody.create(MIME_XML, writer.toString())) .build()).execute() } else { httpClient.newCall(Request.Builder() .url(location) .method("REPORT", RequestBody.create(MIME_XML, writer.toString())) .header("Authorization", "Bearer $accessToken") .build()).execute() } }.use { return processMultiStatus(it, callback) } Loading
src/main/kotlin/foundation/e/dav4jvm/DavCollection.kt +16 −9 Original line number Diff line number Diff line Loading @@ -9,10 +9,7 @@ package foundation.e.dav4jvm import foundation.e.dav4jvm.exception.DavException import foundation.e.dav4jvm.exception.HttpException import foundation.e.dav4jvm.property.SyncToken import okhttp3.HttpUrl import okhttp3.OkHttpClient import okhttp3.Request import okhttp3.RequestBody import okhttp3.* import java.io.StringWriter import java.util.logging.Logger Loading Loading @@ -82,11 +79,21 @@ open class DavCollection @JvmOverloads constructor( serializer.endDocument() followRedirects { if (accessToken.isNullOrEmpty()) { httpClient.newCall(Request.Builder() .url(location) .method("REPORT", RequestBody.create(MIME_XML, writer.toString())) .header("Depth", "0") .build()).execute() } else { httpClient.newCall(Request.Builder() .url(location) .method("REPORT", RequestBody.create(MIME_XML, writer.toString())) .header("Depth", "0") .header("Authorization", "Bearer $accessToken") .build()).execute() } }.use { return processMultiStatus(it, callback) } Loading
src/main/kotlin/foundation/e/dav4jvm/DavResource.kt +50 −14 Original line number Diff line number Diff line Loading @@ -160,10 +160,18 @@ open class DavResource @JvmOverloads constructor( if(forceOverride) requestBuilder.header("Overwrite", "F") followRedirects { if (accessToken.isNullOrEmpty()) { requestBuilder.url(location) httpClient.newCall(requestBuilder .build()) .execute() } else { requestBuilder.url(location) requestBuilder.header("Authorization", "Bearer $accessToken") httpClient.newCall(requestBuilder .build()) .execute() } }.use{ response -> checkStatus(response) Loading @@ -188,10 +196,19 @@ open class DavResource @JvmOverloads constructor( val rqBody = if (xmlBody != null) RequestBody.create(MIME_XML, xmlBody) else null followRedirects { if (accessToken.isNullOrEmpty()) { httpClient.newCall(Request.Builder() .method("MKCOL", rqBody) .url(location) .build()).execute() } else { httpClient.newCall(Request.Builder() .method("MKCOL", rqBody) .url(location) .header("Authorization", "Bearer $accessToken") .build()).execute() } }.use { response -> checkStatus(response) callback(response) Loading @@ -213,12 +230,23 @@ open class DavResource @JvmOverloads constructor( @Throws(IOException::class, HttpException::class) fun get(accept: String, callback: (response: Response) -> Unit) { followRedirects { if (accessToken.isNullOrEmpty()) { httpClient.newCall(Request.Builder() .get() .url(location) .header("Accept", accept) .header("Accept-Encoding", "identity") // disable compression because it can change the ETag .build()).execute() } else { httpClient.newCall(Request.Builder() .get() .url(location) .header("Accept", accept) .header("Accept-Encoding", "identity") // disable compression because it can change the ETag .header("Authorization", "Bearer $accessToken") .build()).execute() } }.use { response -> checkStatus(response) callback(response) Loading Loading @@ -252,6 +280,10 @@ open class DavResource @JvmOverloads constructor( // don't overwrite anything existing builder.header("If-None-Match", "*") if (!accessToken.isNullOrEmpty()) { builder.header("Authorization", "Bearer $accessToken") } httpClient.newCall(builder.build()).execute() }.use { response -> checkStatus(response) Loading Loading @@ -281,6 +313,10 @@ open class DavResource @JvmOverloads constructor( if (ifMatchETag != null) builder.header("If-Match", QuotedStringUtils.asQuotedString(ifMatchETag)) if (!accessToken.isNullOrEmpty()) { builder.header("Authorization", "Bearer $accessToken") } httpClient.newCall(builder.build()).execute() }.use { response -> checkStatus(response) Loading