public async Task GetAssetDigest() { var request = CommonRequest.GetGetAssetDigestMessageRequest(Client); var requests = CommonRequest.FillRequest(request, Client, false, false); var serverRequest = GetRequestBuilder().GetRequestEnvelope(requests); var serverResponse = await PostProto <Request>(serverRequest).ConfigureAwait(false); ParseServerResponse(serverResponse); if (serverResponse.StatusCode == ResponseEnvelope.Types.StatusCode.Redirect) { await GetAssetDigest().ConfigureAwait(false); return; } var responses = serverResponse.Returns; if (responses != null) { if (responses.Count > 0) { var getAssetDigestResponse = new GetAssetDigestResponse(); getAssetDigestResponse.MergeFrom(responses[0]); CommonRequest.ProcessGetAssetDigestResponse(Client, getAssetDigestResponse); CommonRequest.ProcessCommonResponses(Client, responses, false, false); } } }