postmethod function

Future postmethod({
  1. required String endpoint,
  2. required dynamic payload,
  3. bool returnfullresponse = false,
})

Implementation

Future postmethod({
  required String endpoint,
  required dynamic payload,
  bool returnfullresponse = false,
}) async {
  try {
    ResponseModel responseModel = ResponseModel();
    var response = await domain.post(
      Uri.parse("$baseurl$endpoint"),
      headers: headers,
      body: jsonEncode(payload),
    );
    //log("Response ${response.body}");
    if (response.statusCode >= 200 && response.statusCode < 300) {
      var data = json.decode(response.body);
      if (data['status']) {
        responseModel.statuscode = response.statusCode;
        responseModel.result = returnfullresponse ? data : data['data'];
        return responseModel;
      } else {
        responseModel.statuscode = response.statusCode;
        responseModel.result = returnfullresponse ? data : data['data'];
        return responseModel;
      }
    } else {
      responseModel.statuscode = response.statusCode;
      responseModel.result = null;
      return responseModel;
    }
  } catch (e) {
    ResponseModel responseModel = ResponseModel();
    responseModel.statuscode = 500;
    responseModel.result = null;
    return responseModel;
  }
}