Initial commit
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
|
||||
enum TraktResponseClass {
|
||||
|
||||
success,
|
||||
|
||||
|
||||
duplicate,
|
||||
|
||||
|
||||
invalid,
|
||||
|
||||
|
||||
rateLimited,
|
||||
|
||||
|
||||
unauthorized,
|
||||
|
||||
|
||||
transient,
|
||||
}
|
||||
|
||||
|
||||
class TraktScrobbleOutcome {
|
||||
final TraktResponseClass cls;
|
||||
|
||||
|
||||
final Duration? retryAfter;
|
||||
|
||||
const TraktScrobbleOutcome(this.cls, {this.retryAfter});
|
||||
}
|
||||
|
||||
|
||||
TraktResponseClass classifyTraktStatus(int statusCode) {
|
||||
if (statusCode >= 200 && statusCode < 300) return TraktResponseClass.success;
|
||||
switch (statusCode) {
|
||||
case 401:
|
||||
return TraktResponseClass.unauthorized;
|
||||
case 409:
|
||||
return TraktResponseClass.duplicate;
|
||||
case 422:
|
||||
return TraktResponseClass.invalid;
|
||||
case 429:
|
||||
return TraktResponseClass.rateLimited;
|
||||
default:
|
||||
return TraktResponseClass.transient;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user