get static method
Implementation
static Future<HttpResponse> get(String resourceUrl,
{String? baseUrl,
String? username,
String? password,
Database? database,
Dio? dioTestClient}) async {
HttpDetails httpDetails = await HttpDetails(
baseUrl: baseUrl,
username: username,
password: password,
database: database)
.get();
final dioClient = dioTestClient ??
Dio(BaseOptions(
connectTimeout: Duration(milliseconds: 100000),
receiveTimeout: Duration(milliseconds: 100000),
headers: {
HttpHeaders.authorizationHeader:
'${httpDetails.authTokenType} ${httpDetails.authToken}',
}));
try {
final Response<dynamic> response =
await dioClient.get('${httpDetails.baseUrl}/api/$resourceUrl');
return HttpResponse(
statusCode: response.statusCode ?? 500, body: response.data);
} on DioException catch (error) {
if (error.response != null) {
dynamic errorBody = error.response?.data;
if (error.response?.data is String) {
try {
final xmlToJsonConverter = Xml2Json();
xmlToJsonConverter.parse(error.response?.data);
errorBody = jsonDecode(xmlToJsonConverter.toParker());
} catch (e) {}
}
return HttpResponse(
statusCode: error.response?.statusCode ?? 500, body: errorBody);
} else {
dynamic errorBody = error.message;
try {
final xmlToJsonConverter = Xml2Json();
xmlToJsonConverter.parse(error.message!);
errorBody = jsonDecode(xmlToJsonConverter.toParker());
} catch (e) {}
return HttpResponse(
statusCode: error.response?.statusCode ?? 500, body: errorBody);
}
}
}