genericParseResponse<DataTypeGeneric extends Jsonable<Object>? > method
Future<EResponse<DataTypeGeneric> >
genericParseResponse<DataTypeGeneric extends Jsonable<Object>? >(
- Future futureResponse, {
- DataTypeGeneric? dataType,
inherited
Implementation
Future<EResponse<DataTypeGeneric>> genericParseResponse<DataTypeGeneric extends Jsonable?>(
Future futureResponse, {DataTypeGeneric? dataType}) async {
EResponse response = await getSaveResponse(futureResponse);
try {
DataTypeGeneric? dataTypeResult;
if (dataType != null) {
if(response.body is DataTypeGeneric) {
dataTypeResult = response.body;
} else
if(response.body is String) {
dataTypeResult = dataType.fromJsonString(response.body) as DataTypeGeneric?;
} else
if(response.body is Map) {
dataTypeResult = dataType.fromJsonMap(response.body) as DataTypeGeneric?;
}
}
Object? errorTypeResult = parseError(response);
return EResponse<DataTypeGeneric>(response.base, dataTypeResult,
error: errorTypeResult);
} catch (e) {
String message = e.toString();
response = EResponse(
http.Response(
response.body?.toString() ?? '',
Jsonable.jsonParserError,
headers: response.base.headers,
isRedirect: response.base.isRedirect,
persistentConnection: response.base.persistentConnection,
reasonPhrase: response.base.reasonPhrase,
request: response.base.request,
),
response.body,
error: message);
print(e);
}
return EResponse<DataTypeGeneric>(response.base, null, error: response.error);
}