mirror of
				https://github.com/ImranR98/Obtainium.git
				synced 2025-10-31 05:23:28 +01:00 
			
		
		
		
	Better GitHub error messages (#112)
This commit is contained in:
		| @@ -167,14 +167,8 @@ class GitHub extends AppSource { | ||||
|       } | ||||
|       return APKDetails(version, targetRelease['apkUrls']); | ||||
|     } else { | ||||
|       if (res.headers['x-ratelimit-remaining'] == '0') { | ||||
|         throw RateLimitError( | ||||
|             (int.parse(res.headers['x-ratelimit-reset'] ?? '1800000000') / | ||||
|                     60000000) | ||||
|                 .round()); | ||||
|       } | ||||
|  | ||||
|       throw NoReleasesError(); | ||||
|       rateLimitErrorCheck(res); | ||||
|       throw getObtainiumHttpError(res); | ||||
|     } | ||||
|   } | ||||
|  | ||||
| @@ -200,15 +194,17 @@ class GitHub extends AppSource { | ||||
|       } | ||||
|       return urlsWithDescriptions; | ||||
|     } else { | ||||
|       if (res.headers['x-ratelimit-remaining'] == '0') { | ||||
|         throw RateLimitError( | ||||
|             (int.parse(res.headers['x-ratelimit-reset'] ?? '1800000000') / | ||||
|                     60000000) | ||||
|                 .round()); | ||||
|       } | ||||
|       throw ObtainiumError( | ||||
|           res.reasonPhrase ?? 'Error ${res.statusCode.toString()}', | ||||
|           unexpected: true); | ||||
|       rateLimitErrorCheck(res); | ||||
|       throw getObtainiumHttpError(res); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   rateLimitErrorCheck(Response res) { | ||||
|     if (res.headers['x-ratelimit-remaining'] == '0') { | ||||
|       throw RateLimitError( | ||||
|           (int.parse(res.headers['x-ratelimit-reset'] ?? '1800000000') / | ||||
|                   60000000) | ||||
|               .round()); | ||||
|     } | ||||
|   } | ||||
| } | ||||
|   | ||||
| @@ -27,14 +27,9 @@ class GitHubStars implements MassAppUrlSource { | ||||
|       } | ||||
|       return urlsWithDescriptions; | ||||
|     } else { | ||||
|       if (res.headers['x-ratelimit-remaining'] == '0') { | ||||
|         throw RateLimitError( | ||||
|             (int.parse(res.headers['x-ratelimit-reset'] ?? '1800000000') / | ||||
|                     60000000) | ||||
|                 .round()); | ||||
|       } | ||||
|  | ||||
|       throw ObtainiumError('Unable to find user\'s starred repos'); | ||||
|       var gh = GitHub(); | ||||
|       gh.rateLimitErrorCheck(res); | ||||
|       throw getObtainiumHttpError(res); | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   | ||||
| @@ -4,6 +4,7 @@ | ||||
| import 'dart:convert'; | ||||
|  | ||||
| import 'package:html/dom.dart'; | ||||
| import 'package:http/http.dart'; | ||||
| import 'package:obtainium/app_sources/fdroid.dart'; | ||||
| import 'package:obtainium/app_sources/github.dart'; | ||||
| import 'package:obtainium/app_sources/gitlab.dart'; | ||||
| @@ -164,6 +165,11 @@ class AppSource { | ||||
|   } | ||||
| } | ||||
|  | ||||
| ObtainiumError getObtainiumHttpError(Response res) { | ||||
|   return ObtainiumError( | ||||
|       res.reasonPhrase ?? 'Error ${res.statusCode.toString()}'); | ||||
| } | ||||
|  | ||||
| abstract class MassAppUrlSource { | ||||
|   late String name; | ||||
|   late List<String> requiredArgs; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user