Skip to content

Commit

Permalink
Added Compilations Conditionals
Browse files Browse the repository at this point in the history
Added Compilations Conditionals as a means of backwards compatibility.
#164 (comment)
  • Loading branch information
Drazail committed Feb 22, 2021
1 parent c237b68 commit d0b7ba4
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 6 deletions.
12 changes: 10 additions & 2 deletions Proyecto26.RestClient/Helpers/Extensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,21 @@ public static ResponseHelper CreateWebResponse(this UnityWebRequest request)
/// <returns>A boolean that indicates if the request is valid.</returns>
public static bool IsValidRequest(this UnityWebRequest request, RequestHelper options)
{
bool IsNetworkError = (request.result == UnityWebRequest.Result.ConnectionError);
bool IsHttpError = (request.result == UnityWebRequest.Result.ProtocolError);
bool IsNetworkError;
bool IsHttpError;
#if UNITY_2020_2_OR_NEWER
IsNetworkError = (request.result == UnityWebRequest.Result.ConnectionError);
IsHttpError = (request.result == UnityWebRequest.Result.ProtocolError);
#else
IsNetworkError = request.isNetworkError;
IsHttpError = request.isHttpError;
#endif
return request.isDone &&
!IsNetworkError &&
(
!IsHttpError || options.IgnoreHttpException
);

}

/// <summary>
Expand Down
22 changes: 18 additions & 4 deletions Proyecto26.RestClient/Helpers/HttpBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,19 @@ public static class HttpBase
{
public static IEnumerator CreateRequestAndRetry(RequestHelper options, Action<RequestException, ResponseHelper> callback)
{

var retries = 0;
do
{
using (var request = CreateRequest(options))
{
var sendRequest = request.SendWebRequestWithOptions(options); yield return request.SendWebRequestWithOptions(options);
bool IsNetworkError;
#if UNITY_2020_2_OR_NEWER
IsNetworkError = (request.result == UnityWebRequest.Result.ConnectionError);
#else
IsNetworkError = request.isNetworkError;
#endif
var sendRequest = request.SendWebRequestWithOptions(options);
if (options.ProgressCallback == null)
{
yield return sendRequest;
Expand All @@ -39,7 +46,7 @@ public static IEnumerator CreateRequestAndRetry(RequestHelper options, Action<Re
callback(null, response);
break;
}
else if (!options.IsAborted && retries < options.Retries && (request.result == UnityWebRequest.Result.ConnectionError))
else if (!options.IsAborted && retries < options.Retries && (IsNetworkError))
{
yield return new WaitForSeconds(options.RetrySecondsDelay);
retries++;
Expand Down Expand Up @@ -77,8 +84,15 @@ private static UnityWebRequest CreateRequest(RequestHelper options)

private static RequestException CreateException(RequestHelper options, UnityWebRequest request)
{
bool IsNetworkError = (request.result == UnityWebRequest.Result.ConnectionError);
bool IsHttpError = (request.result == UnityWebRequest.Result.ProtocolError);
bool IsNetworkError;
bool IsHttpError;
#if UNITY_2020_2_OR_NEWER
IsNetworkError = (request.result == UnityWebRequest.Result.ConnectionError);
IsHttpError = (request.result == UnityWebRequest.Result.ProtocolError);
#else
IsNetworkError = request.isNetworkError;
IsHttpError = request.isHttpError;
#endif

return new RequestException(request.error, IsHttpError, IsNetworkError, request.responseCode, options.ParseResponseBody ? request.downloadHandler.text : "body not parsed");
}
Expand Down

0 comments on commit d0b7ba4

Please sign in to comment.