post method

Future<T> post(
  1. dynamic body, {
  2. String? contentType,
  3. Map<String, String>? headers,
  4. Map<String, dynamic>? query,
  5. bool showDefaultLoading = true,
  6. ProgressCallback? onSendProgress,
  7. ProgressCallback? onReceiveProgress,
})

Implementation

Future<T> post(
  dynamic body, {
  String? contentType,
  Map<String, String>? headers,
  Map<String, dynamic>? query,
  bool showDefaultLoading = true,
  ProgressCallback? onSendProgress,
  ProgressCallback? onReceiveProgress,
}) async {
  return EasyHttp.onLoading(() async {
    try {
      final response = await _httpClient.dio.post(
        requestUrl,
        data: body,
        queryParameters: query,
        options: Options(headers: headers, contentType: contentType),
        onSendProgress: onSendProgress,
        onReceiveProgress: onReceiveProgress,
      );

      if (response.data == null) {
        onError("${response.realUri} ${response.statusMessage}");
      } else {
        onSuccess();
      }
    } catch (e, _) {
      onError(e.toString());
      rethrow;
    }
    return httpData;
  }, showDefaultLoading: showDefaultLoading);
}