post method
Implementation
Future<Map<String, dynamic>> post({
required String url,
Map<String, dynamic>? parameters,
Map<String, dynamic>? body,
}) async {
try {
await _checkInternet();
log('===================================================');
String param = _makeParameter(parameters);
log('url: $url$param');
log('body: ${jsonEncode(body)}');
Uri uri = Uri.parse('$url$param');
var response = await http.post(
uri,
body: jsonEncode(body),
headers: _makeHeader(),
);
if (response.statusCode == 200) {
log('response(${response.statusCode}: ${response.body}');
log('===================================================');
Map<String, dynamic> jsonResponse = json.decode(response.body);
// _checkAfterResponse(jsonResponse);
return jsonResponse;
}
throw NetworkException(
message: 'Something went wrong',
code: response.statusCode,
);
} on NetworkException catch (e) {
log('Network exception(${e.code}): ${e.message}');
log('===================================================');
// _checkAfterResponse({'status': e.code});
rethrow;
} on InternetException catch (e) {
log('Internet exception: ${e.message}');
log('===================================================');
rethrow;
} catch (e) {
log('error (${e.runtimeType}: ${e.toString()}');
log('===================================================');
rethrow;
}
}