Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9209f4e8 authored by Nihar Thakkar's avatar Nihar Thakkar Committed by Fahim Salam Chowdhury
Browse files

Implemented OAuth token support. Refreshing of tokens not working yet.

parent 07b78ab5
Loading
Loading
Loading
Loading
+21 −2
Original line number Original line Diff line number Diff line
@@ -71,11 +71,21 @@ class DavAddressBook @JvmOverloads constructor(
        serializer.endDocument()
        serializer.endDocument()


        followRedirects {
        followRedirects {
            if (accessToken.isNullOrEmpty()) {
                httpClient.newCall(Request.Builder()
                httpClient.newCall(Request.Builder()
                    .url(location)
                    .url(location)
                    .method("REPORT", writer.toString().toRequestBody(MIME_XML))
                    .method("REPORT", writer.toString().toRequestBody(MIME_XML))
                    .header("Depth", "1")
                    .header("Depth", "1")
                    .build()).execute()
                    .build()).execute()
            }
            else {
                httpClient.newCall(Request.Builder()
                    .url(location)
                    .method("REPORT", writer.toString().toRequestBody(MIME_XML))
                    .header("Depth", "1")
                    .header("Authorization", "Bearer $accessToken")
                    .build()).execute()
            }
        }.use { response ->
        }.use { response ->
            return processMultiStatus(response, callback)
            return processMultiStatus(response, callback)
        }
        }
@@ -129,11 +139,20 @@ class DavAddressBook @JvmOverloads constructor(
        serializer.endDocument()
        serializer.endDocument()


        followRedirects {
        followRedirects {
	        if (accessToken.isNullOrEmpty()) {
                httpClient.newCall(Request.Builder()
                httpClient.newCall(Request.Builder()
                    .url(location)
                    .url(location)
                    .method("REPORT", writer.toString().toRequestBody(MIME_XML))
                    .method("REPORT", writer.toString().toRequestBody(MIME_XML))
                    .header("Depth", "0")       // "The request MUST include a Depth: 0 header [...]"
                    .header("Depth", "0")       // "The request MUST include a Depth: 0 header [...]"
                    .build()).execute()
                    .build()).execute()
            } else {
                httpClient.newCall(Request.Builder()
                    .url(location)
                    .method("REPORT", writer.toString().toRequestBody(MIME_XML))
                    .header("Depth", "0")       // "The request MUST include a Depth: 0 header [...]"
                    .header("Authorization", "Bearer $accessToken")
                    .build()).execute()
            }
        }.use {
        }.use {
            return processMultiStatus(it, callback)
            return processMultiStatus(it, callback)
        }
        }
+19 −2
Original line number Original line Diff line number Diff line
@@ -109,11 +109,20 @@ class DavCalendar @JvmOverloads constructor(
        serializer.endDocument()
        serializer.endDocument()


        followRedirects {
        followRedirects {
	        if (accessToken.isNullOrEmpty()) {
                httpClient.newCall(Request.Builder()
                httpClient.newCall(Request.Builder()
                    .url(location)
                    .url(location)
                    .method("REPORT", writer.toString().toRequestBody(MIME_XML))
                    .method("REPORT", writer.toString().toRequestBody(MIME_XML))
                    .header("Depth", "1")
                    .header("Depth", "1")
                    .build()).execute()
                    .build()).execute()
            } else {
                httpClient.newCall(Request.Builder()
                    .url(location)
                    .method("REPORT", writer.toString().toRequestBody(MIME_XML))
                    .header("Depth", "1")
                    .header("Authorization", "Bearer $accessToken")
                    .build()).execute()
            }
        }.use {
        }.use {
            return processMultiStatus(it, callback)
            return processMultiStatus(it, callback)
        }
        }
@@ -167,10 +176,18 @@ class DavCalendar @JvmOverloads constructor(
        serializer.endDocument()
        serializer.endDocument()


        followRedirects {
        followRedirects {
	        if (accessToken.isNullOrEmpty()) {
                httpClient.newCall(Request.Builder()
                httpClient.newCall(Request.Builder()
                    .url(location)
                    .url(location)
                    .method("REPORT", writer.toString().toRequestBody(MIME_XML))
                    .method("REPORT", writer.toString().toRequestBody(MIME_XML))
                    .build()).execute()
                    .build()).execute()
            } else {
                httpClient.newCall(Request.Builder()
                    .url(location)
                    .method("REPORT", writer.toString().toRequestBody(MIME_XML))
                    .header("Authorization", "Bearer $accessToken")
                    .build()).execute()
            }
        }.use {
        }.use {
            return processMultiStatus(it, callback)
            return processMultiStatus(it, callback)
        }
        }
+10 −1
Original line number Original line Diff line number Diff line
@@ -109,11 +109,20 @@ open class DavCollection @JvmOverloads constructor(
        serializer.endDocument()
        serializer.endDocument()


        followRedirects {
        followRedirects {
	        if (accessToken.isNullOrEmpty()) {
                httpClient.newCall(Request.Builder()
                httpClient.newCall(Request.Builder()
                    .url(location)
                    .url(location)
                    .method("REPORT", writer.toString().toRequestBody(MIME_XML))
                    .method("REPORT", writer.toString().toRequestBody(MIME_XML))
                    .header("Depth", "0")
                    .header("Depth", "0")
                    .build()).execute()
                    .build()).execute()
            } else {
                httpClient.newCall(Request.Builder()
                    .url(location)
                    .method("REPORT", writer.toString().toRequestBody(MIME_XML))
                    .header("Depth", "0")
                    .header("Authorization", "Bearer $accessToken")
                    .build()).execute()
            }
        }.use {
        }.use {
            return processMultiStatus(it, callback)
            return processMultiStatus(it, callback)
        }
        }
+37 −8
Original line number Original line Diff line number Diff line
@@ -180,10 +180,18 @@ open class DavResource @JvmOverloads constructor(
        if (forceOverride) requestBuilder.header("Overwrite", "F")
        if (forceOverride) requestBuilder.header("Overwrite", "F")


        followRedirects {
        followRedirects {
	    if (accessToken.isNullOrEmpty()) {
                requestBuilder.url(location)
            	httpClient.newCall(requestBuilder
                    	.build())
                    	.execute()
		} else {
	       	requestBuilder.url(location)
	       	requestBuilder.url(location)
		requestBuilder.header("Authorization", "Bearer $accessToken")
                httpClient.newCall(requestBuilder
                httpClient.newCall(requestBuilder
                        .build())
                        .build())
                        .execute()
                        .execute()
	    }
        }.use{ response ->
        }.use{ response ->
            checkStatus(response)
            checkStatus(response)


@@ -209,10 +217,19 @@ open class DavResource @JvmOverloads constructor(
        val rqBody = xmlBody?.toRequestBody(MIME_XML)
        val rqBody = xmlBody?.toRequestBody(MIME_XML)


        followRedirects {
        followRedirects {
	    if (accessToken.isNullOrEmpty()) {
                httpClient.newCall(Request.Builder()
                httpClient.newCall(Request.Builder()
                        .method("MKCOL", rqBody)
                        .method("MKCOL", rqBody)
                        .url(location)
                        .url(location)
                        .build()).execute()
                        .build()).execute()
            }
            else {
                httpClient.newCall(Request.Builder()
                        .method("MKCOL", rqBody)
                        .url(location)
                        .header("Authorization", "Bearer $accessToken")
                        .build()).execute()
            }
        }.use { response ->
        }.use { response ->
            checkStatus(response)
            checkStatus(response)
            callback(response)
            callback(response)
@@ -326,6 +343,10 @@ open class DavResource @JvmOverloads constructor(
                .header("Accept", accept)
                .header("Accept", accept)
                .header("Range", "bytes=$offset-$lastIndex")
                .header("Range", "bytes=$offset-$lastIndex")


            accessToken?.let {
                request.header("Authorization", "Bearer $it")
            }

            httpClient.newCall(request.build()).execute()
            httpClient.newCall(request.build()).execute()
        }.use { response ->
        }.use { response ->
            checkStatus(response)
            checkStatus(response)
@@ -365,6 +386,10 @@ open class DavResource @JvmOverloads constructor(
                // don't overwrite anything existing
                // don't overwrite anything existing
                builder.header("If-None-Match", "*")
                builder.header("If-None-Match", "*")


	    if (!accessToken.isNullOrEmpty()) {
                builder.header("Authorization", "Bearer $accessToken")
            }

            httpClient.newCall(builder.build()).execute()
            httpClient.newCall(builder.build()).execute()
        }.use { response ->
        }.use { response ->
            checkStatus(response)
            checkStatus(response)
@@ -398,6 +423,10 @@ open class DavResource @JvmOverloads constructor(
            if (ifScheduleTag != null)
            if (ifScheduleTag != null)
                builder.header("If-Schedule-Tag-Match", QuotedStringUtils.asQuotedString(ifScheduleTag))
                builder.header("If-Schedule-Tag-Match", QuotedStringUtils.asQuotedString(ifScheduleTag))


	    if (!accessToken.isNullOrEmpty()) {
                builder.header("Authorization", "Bearer $accessToken")
            }

            httpClient.newCall(builder.build()).execute()
            httpClient.newCall(builder.build()).execute()
        }.use { response ->
        }.use { response ->
            checkStatus(response)
            checkStatus(response)