44 lines
915 B
Dart
44 lines
915 B
Dart
import 'package:json_annotation/json_annotation.dart';
|
|
|
|
part 'server.g.dart';
|
|
|
|
|
|
@JsonSerializable()
|
|
class ErrorResponse implements Exception {
|
|
final int code;
|
|
final String details;
|
|
final String source;
|
|
final String error;
|
|
|
|
const ErrorResponse({
|
|
required this.code,
|
|
required this.details,
|
|
required this.error,
|
|
required this.source,
|
|
});
|
|
|
|
@override
|
|
String toString() {
|
|
final buffer = StringBuffer('Error response (code: $code');
|
|
|
|
if (details.isNotEmpty) {
|
|
buffer.write(', details: $details');
|
|
}
|
|
|
|
if (error.isNotEmpty) {
|
|
buffer.write(', error: $error');
|
|
}
|
|
|
|
if (source.isNotEmpty) {
|
|
buffer.write(', source: $source');
|
|
}
|
|
|
|
buffer.write(')');
|
|
|
|
return buffer.toString();
|
|
}
|
|
|
|
factory ErrorResponse.fromJson(Map<String, dynamic> json) => _$ErrorResponseFromJson(json);
|
|
Map<String, dynamic> toJson() => _$ErrorResponseToJson(this);
|
|
}
|