1
0
mirror of https://github.com/owncloud/android-library.git synced 2025-06-07 07:56:19 +00:00

add logs for getremotestatus

This commit is contained in:
Schabi 2020-11-09 15:49:43 +01:00 committed by Christian Schabesberger
parent 2eff0bbc5c
commit e665af2a1e
2 changed files with 22 additions and 1 deletions

View File

@ -66,6 +66,8 @@ class GetRemoteStatusOperation : RemoteOperation<OwnCloudVersion>() {
return try { return try {
val requester = StatusRequester() val requester = StatusRequester()
val requestResult = requester.requestAndFollowRedirects(baseUrl, client) val requestResult = requester.requestAndFollowRedirects(baseUrl, client)
Timber.d("==== GetRemoteStatusOperation result ====")
requestResult.printLog();
requester.handleRequestResult(requestResult, baseUrl) requester.handleRequestResult(requestResult, baseUrl)
} catch (e: JSONException) { } catch (e: JSONException) {
RemoteOperationResult(ResultCode.INSTANCE_NOT_CONFIGURED) RemoteOperationResult(ResultCode.INSTANCE_NOT_CONFIGURED)

View File

@ -32,6 +32,7 @@ import com.owncloud.android.lib.common.operations.RemoteOperationResult
import com.owncloud.android.lib.resources.status.HttpScheme.HTTPS_SCHEME import com.owncloud.android.lib.resources.status.HttpScheme.HTTPS_SCHEME
import com.owncloud.android.lib.resources.status.HttpScheme.HTTP_SCHEME import com.owncloud.android.lib.resources.status.HttpScheme.HTTP_SCHEME
import org.json.JSONObject import org.json.JSONObject
import timber.log.Timber
import java.net.URL import java.net.URL
import java.util.concurrent.TimeUnit import java.util.concurrent.TimeUnit
@ -69,7 +70,17 @@ internal class StatusRequester {
val getMethod: GetMethod, val getMethod: GetMethod,
val status: Int, val status: Int,
val redirectedToUnsecureLocation: Boolean val redirectedToUnsecureLocation: Boolean
) ) {
fun printLog() {
Timber.d("""
===== status request result =====
- GetMethod status code: ${getMethod.statusCode},
- GetMethod status msg: ${getMethod.statusMessage},
- status: ${status},
- redirectedToUnsecureLocation: ${redirectedToUnsecureLocation}
""".trimIndent())
}
}
fun requestAndFollowRedirects(baseLocation: String, client: OwnCloudClient): RequestResult { fun requestAndFollowRedirects(baseLocation: String, client: OwnCloudClient): RequestResult {
var currentLocation = baseLocation + OwnCloudClient.STATUS_PATH var currentLocation = baseLocation + OwnCloudClient.STATUS_PATH
@ -78,16 +89,24 @@ internal class StatusRequester {
while (true) { while (true) {
val getMethod = getGetMethod(currentLocation) val getMethod = getGetMethod(currentLocation)
Timber.d("StatusRequester, goto: ${currentLocation}")
status = client.executeHttpMethod(getMethod) status = client.executeHttpMethod(getMethod)
Timber.d("StatusRequester, resturn status: ${status}")
val result = val result =
if (status.isSuccess()) RemoteOperationResult<OwnCloudVersion>(RemoteOperationResult.ResultCode.OK) if (status.isSuccess()) RemoteOperationResult<OwnCloudVersion>(RemoteOperationResult.ResultCode.OK)
else RemoteOperationResult(getMethod) else RemoteOperationResult(getMethod)
Timber.d("StatusRequester, RemoteOperationResult: ${result}, isSuccess: ${result.isSuccess}")
if (result.redirectedLocation.isNullOrEmpty() || result.isSuccess) { if (result.redirectedLocation.isNullOrEmpty() || result.isSuccess) {
Timber.d("StatusRequester, Redirection location was null or empty and result was success")
return RequestResult(getMethod, status, redirectedToUnsecureLocation) return RequestResult(getMethod, status, redirectedToUnsecureLocation)
} else { } else {
Timber.d("StatusRequester, go into next iteration")
val nextLocation = updateLocationWithRedirectPath(currentLocation, result.redirectedLocation) val nextLocation = updateLocationWithRedirectPath(currentLocation, result.redirectedLocation)
Timber.d("StatusRequester, Next location: ${nextLocation}")
redirectedToUnsecureLocation = redirectedToUnsecureLocation =
isRedirectedToNonSecureConnection( isRedirectedToNonSecureConnection(
redirectedToUnsecureLocation, redirectedToUnsecureLocation,