request method

Future<Response> request({
  1. required RequestType requestType,
  2. required String endPoint,
  3. Object? body,
  4. Map<String, dynamic>? queryParameters,
  5. Map<String, String>? headers,
  6. Map<String, String>? fields,
  7. List<MultipartFile>? files,
})

Implementation

Future<Response> request(
    {required RequestType requestType,
    required String endPoint,
    Object? body,
    Map<String, dynamic>? queryParameters,
    Map<String, String>? headers,
    Map<String, String>? fields,
    List<MultipartFile>? files}) async {
  switch (requestType) {
    case RequestType.get:
      return getRequest(endPoint, queryParameters, headers);
    case RequestType.post:
      return postRequest(endPoint, body, headers);
    case RequestType.delete:
      return deleteRequest(endPoint, body, headers);
    case RequestType.put:
      return putRequest(endPoint, body, headers);
    case RequestType.patch:
      return patchRequest(endPoint, body, headers);
    case RequestType.multipart:
      return multipartRequest(endPoint, fields, files, headers);
    default:
      Log.e(kTag, "No RequestType Provided.");
  }

  return Response("Failure", 0);
}