request method
Implementation
Future<ApiResponse> request(
String endpoint, {
required RequestType requestType,
dynamic data,
Map<String, dynamic>? queryParameters,
Map<String, dynamic>? headers,
}) async {
_dio.options.headers.addAll(headers ?? {});
try {
Response response;
switch (requestType) {
case RequestType.get:
response = await _dio.get(
endpoint,
queryParameters: queryParameters,
options: Options(headers: headers),
);
break;
case RequestType.post:
response = await _dio.post(
endpoint,
data: data,
queryParameters: queryParameters,
options: Options(headers: headers),
);
break;
case RequestType.put:
response = await _dio.put(
endpoint,
data: data,
queryParameters: queryParameters,
options: Options(headers: headers),
);
break;
case RequestType.delete:
response = await _dio.delete(
endpoint,
data: data,
queryParameters: queryParameters,
options: Options(headers: headers),
);
break;
case RequestType.postMultipart:
response = await _dio.post(
endpoint,
data: data,
queryParameters: queryParameters,
options: Options(headers: headers),
);
break;
}
return _handleResponse(response);
} on DioException catch (e) {
throw _handleError(e);
}
}