private static WebApiAdvancedResponse <TContent, TErrorContent> WrapAdvancedRestResponse <TContent, TErrorContent>(RestClient client, RestRequest request, IRestResponse response) { WebApiAdvancedResponse <TContent, TErrorContent> result = new WebApiAdvancedResponse <TContent, TErrorContent>(); Uri requestUri = client.BuildUri(request); if (response.IsSuccessful) { result.Successful = true; result.Content = ParseRestResponse <TContent>(client, response); } else if (response.ErrorException != null) { Log.Error("Network/framework exception on REST request '{0}'", requestUri); Log.Ex(response.ErrorException); result.ErrorException = response.ErrorException; } else { Log.Error("Error {1} ({2}) on REST request '{0}'", requestUri, (int)response.StatusCode, response.StatusDescription); result.ErrorStatusCode = response.StatusCode; result.ErrorContent = ParseRestResponse <TErrorContent>(client, response); } return(result); }
public static CheckForUpdatesResponse CheckForUpdates(string sdkTableRevision) { CheckForUpdatesRequest dto = new CheckForUpdatesRequest { CurrentVersion = Assembly.GetEntryAssembly().GetProductVersion(), OS = Utilities.OperatingSystem.IsMacOS() ? 1 : 0, Is64BitOS = Utilities.OperatingSystem.Is64Bit, SdkTableRevision = sdkTableRevision }; RestClient client = new RestClient(VersionBaseUri); RestRequest request = new RestRequest("check-updates", Method.POST); request.AddJsonBody(dto); WebApiAdvancedResponse <CheckForUpdatesResponse, ApiError> response = MakeRequest <CheckForUpdatesResponse, ApiError>(client, request); ThrowIfNotSuccessful(response); return(response.Content); }