post method

Future post(
  1. String baseUrl,
  2. String api,
  3. Map<String, String> headers,
  4. dynamic payloadObj,
)

Implementation

Future<dynamic> post(String baseUrl, String api, Map<String, String> headers,
    dynamic payloadObj) async {
  var uri = Uri.parse(baseUrl + api);
  var payload = json.encode(payloadObj);

  try {
    var response = await http
        .post(uri, headers: headers, body: payload)
        .timeout(Duration(seconds: TIME_OUT_DURATION));
    return _processResponse(response);
  } on SocketException {
    throw FetchDataException('No internet connection', uri.toString());
  } on TimeoutException {
    throw ApiNotRespondingException(
        'Api taking too long to response', uri.toString());
  }
}