postNormal method
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'};
}
}