postNormal method

Future<Map<String, dynamic>> postNormal()

Implementation

Future<Map<String, dynamic>> postNormal() async {
  if (endPointType.contentType != 'multipart/form-data') {
    _dio.interceptors.add(CurlLoggerInterceptor());
  }

  var url = endPointType.url;

  if (path != null) {
    for (var i = 0; i < path!.length; i++) {
      final key = ':i${i == 0 ? '' : i}d';
      url = url.replaceAll(key, path![i]);
    }
  }

  try {
    late Response response;
    switch (endPointType.httpMethod) {
      case EndpointHTTPType.get:
        response = await _dio.get(url, queryParameters: queryParameters);
        break;
      case EndpointHTTPType.post:
        response = await _dio.post(url, queryParameters: queryParameters, data: params);
        break;
      case EndpointHTTPType.put:
        response = await _dio.put(url, queryParameters: queryParameters, data: params);
        break;
      case EndpointHTTPType.delete:
        response = await _dio.delete(url, queryParameters: queryParameters, data: params);
        break;
      case EndpointHTTPType.patch:
        response = await _dio.patch(url, queryParameters: queryParameters, data: params);
        break;
      case EndpointHTTPType.postMultipart:

        response = await _dio.post(
          url,
          queryParameters: queryParameters,
          data: formData,
          onReceiveProgress: onReceiveProgress,
          onSendProgress: onSendProgress,
          cancelToken: cancelToken,
        );

        break;
    }
    final data = response.data;
    if (data is Map<String, dynamic> || data is List) {

      Utils.debugLog(title: "data => ${endPointType.httpMethod}", object: data);


      Map<String, dynamic>  mapData ;
      if (data is Map<String, dynamic>) {
        mapData = data;
      }else{
        mapData = {'data': data};
      }
      return {'statusCode': response.statusCode, 'success': true, ...mapData};
    } else {
      return {'success': false, 'message': 'data is not a Map<String, dynamic>'};
    }
  } on DioException catch (error) {

    var errorMessage = 'Something Went Wrong';
    if (CancelToken.isCancel(error)) {
      errorMessage = error.message ?? errorMessage;
    }

    return {'success': false, 'message': errorMessage};
  } catch (error) {

    return {'success': false, 'message': 'Something Went Wrong'};
  }
}