request<T> method

Future<Response<T>> request<T>(
  1. String baseUrl,
  2. String endpoint,
  3. DioMethod method, {
  4. Map<String, dynamic>? param,
  5. String? contentType,
  6. dynamic formData,
})

Implementation

Future<Response<T>> request<T>(
  String baseUrl,
  String endpoint,
  DioMethod method, {
  Map<String, dynamic>? param,
  String? contentType,
  formData,
}) async {
  try {
    final dio = Dio(
      BaseOptions(
        baseUrl: baseUrl,
        contentType: contentType ?? Headers.jsonContentType,
        headers: {
          // HttpHeaders.authorizationHeader: 'Bearer $token',
        },
      ),
    );
    switch (method) {
      case DioMethod.post:
        return dio.post(
          endpoint,
          data: param ?? formData,
        );
      case DioMethod.get:
        return dio.get(
          endpoint,
          queryParameters: param,
        );
      case DioMethod.put:
        return dio.put(
          endpoint,
          data: param ?? formData,
        );
      case DioMethod.delete:
        return dio.delete(
          endpoint,
          data: param ?? formData,
        );
      default:
        return dio.post(
          endpoint,
          data: param ?? formData,
        );
    }
  } catch (e) {
    throw Exception('Network error');
  }
}