genericParseResponse<DataTypeGeneric> method
Future<GoogleHTTPResponse<DataTypeGeneric> >
genericParseResponse<DataTypeGeneric>(
- Future futureResponse, {
- DataTypeGeneric? dataType,
Implementation
Future<GoogleHTTPResponse<DataTypeGeneric>>
genericParseResponse<DataTypeGeneric>(Future futureResponse,
{DataTypeGeneric? dataType}) async {
GoogleHTTPResponse response = await getSaveResponse(futureResponse);
try {
DataTypeGeneric? dataTypeResult;
dynamic body = response.body;
if (body is DataTypeGeneric) {
dataTypeResult = body;
} else if (dataType is Jsonable) {
if (body is Map<String, dynamic>) {
dataTypeResult = dataType.fromJsonMap(body) as DataTypeGeneric?;
} else if (body is String) {
dataTypeResult = dataType.fromJsonString(body) as DataTypeGeneric?;
}
}
return GoogleHTTPResponse<DataTypeGeneric>(
response.base,
dataTypeResult,
error: response.error,
extraData: response.extraData,
);
} catch (e) {
String message = e.toString();
print(e);
return GoogleHTTPResponse<DataTypeGeneric>(
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,
),
null,
error: GoogleErrorResponse(
error: ErrorInfo(
message: message,
),
),
);
}
}