postData method

Future<ApiResults?> postData({
  1. required String endPoint,
  2. Object? data,
  3. Map<String, dynamic>? queryParameters,
  4. bool formData = false,
  5. String? token,
  6. String? bypass,
  7. String contentType = Headers.formUrlEncodedContentType,
  8. ProgressCallback? uploadProgress,
})

Implementation

Future<ApiResults?> postData(
    {required String endPoint,
    Object? data,
    Map<String, dynamic>? queryParameters,
    bool formData = false,
    String? token,
    String? bypass,
    String contentType = Headers.formUrlEncodedContentType,
    ProgressCallback? uploadProgress}) async {
  dio.options.headers = {
    'Content-Type': contentType,
    'bypass': bypass,

    // "token": "",
  };

  try {
    log('URL=${dio.options.baseUrl + endPoint}');
    log('Posting data=$data');
    log('query param data=$queryParameters');
    var response = await dio.post(endPoint,
        data: data,
        queryParameters: queryParameters,
        onSendProgress: uploadProgress);
    log('Response=${response.data}');
    if (response.statusCode == 200) {
      return ApiResults(
          response.data, response.statusCode, response.statusMessage);
    } else {


      return ApiResults(response.data, 0, response.statusMessage);
    }
  } on SocketException {
    return ApiResults("", 0, "");
  } on DioException catch (e) {


    return getErrorResponse(e.type, "");
  } catch (e) {


    return ApiResults(data, 0, strAppSomethingWentWrong);
  }
}