post static method

Future<ApiResponse> post(
  1. String url,
  2. Map<String, dynamic> qParams,
  3. dynamic body, {
  4. dynamic headers = defaultHeaders,
})

Implementation

static Future<ApiResponse> post(
    String url, Map<String, dynamic> qParams, body,
    {headers = defaultHeaders}) async {
  try {
    log("message1$url");
    Uri uri = qParams.isEmpty
        ? Uri.parse(url)
        : Uri.parse(url + Uri(queryParameters: qParams).query);
    log("message2");
    var res = await http.post(uri, body: body, headers: headers);
    log("message3");
    log("res.statusCode${res.statusCode}");
    if (res.statusCode == 200 || res.statusCode == 201) {
      return ApiResponse(
          status: true,
          message: 'Done',
          data: res.body,
          statusCode: res.statusCode);
    } else {
      log("${jsonDecode(res.body)}");
      return ApiResponse(
          status: false,
          message: '${jsonDecode(res.body)["message"]}',
          data: null,
          statusCode: res.statusCode);
    }
  } catch (error) {
    return ApiResponse(
        status: false, message: '$error', data: null, statusCode: 0);
  }
}