genericParseResponse<DataTypeGeneric> method
Implementation
Future<CloudflareHTTPResponse<DataTypeGeneric>>
genericParseResponse<DataTypeGeneric>(Future futureResponse,
{DataTypeGeneric? dataType,
bool parseCloudflareResponse = true}) async {
CloudflareHTTPResponse response = await getSaveResponse(futureResponse,
parseCloudflareResponse: parseCloudflareResponse);
try {
DataTypeGeneric? dataTypeResult;
dynamic body = response.body;
if (body is CloudflareResponse) body = response.body?.result;
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 CloudflareHTTPResponse<DataTypeGeneric>(
response.base, dataTypeResult,
error: response.error);
} catch (e) {
String message = e.toString();
print(e);
return CloudflareHTTPResponse<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: message);
}
}