resolve method
Implementation
@override
Future<AttestationResponse?> resolve({
required String attestationId,
required String? attestationJWT,
}) async {
try {
// resolve v2
final v2Response = await resolveV2(attestationId, attestationJWT);
if (v2Response != null) {
return v2Response;
}
// resolve v1
final uri = Uri.parse(
'$_verifyUrl/attestation/$attestationId?v2Supported=true',
);
_core.logger.d('[$runtimeType] resolve attestationId: $attestationId');
final response = await _httpClient.get(uri).timeout(Duration(seconds: 5));
if (response.statusCode == 404 || response.body.isEmpty) {
throw AttestationNotFound(
code: 404,
message: 'Attestion for this dapp could not be found',
);
}
if (response.statusCode != 200) {
throw Exception('Attestation response error: ${response.statusCode}');
}
return AttestationResponse.fromJson(jsonDecode(response.body));
} catch (e, s) {
if (e is! AttestationNotFound) {
_core.logger.e('[$runtimeType] resolve error: $e, $s');
}
rethrow;
}
}