import 'dart:convert'; import 'dart:developer'; import 'package:dio/dio.dart'; import 'package:flutter/foundation.dart'; import 'package:get/get.dart' hide Response; import 'package:regroup/Global.dart'; import 'package:regroup/Common/base_manager.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:http/http.dart' as http; import '../../entry_point_controller.dart'; class NetworkApiServices { Dio dio = Dio(); final controllerEntryPoint = Get.put(EntryPointController()); Future getApi(String url) async { if (kDebugMode) { print("api url is >>> $url"); } Response response; SharedPreferences prefs = await SharedPreferences.getInstance(); token = prefs.getString('token'); try { response = await dio.get(url, options: Options(headers: { "authorization": "Bearer $token", 'content-Type': 'application/json', })); } on Exception catch (_) { return ResponseData( 'Oops something Went Wrong', ResponseStatus.FAILED); } if (response.statusCode == 200) { return ResponseData("success", ResponseStatus.SUCCESS, data: response.data); } else if (response.statusCode == 404) { return ResponseData("error", ResponseStatus.ERROR, data: response.data); } else { try { return ResponseData( response.data['message'].toString(), ResponseStatus.FAILED); } catch (_) { return ResponseData( response.statusMessage!, ResponseStatus.FAILED); } } } Future postApi({data, required String url}) async { if (kDebugMode) { print("data >>> $data"); print("api url is >>> $url"); } Response response; SharedPreferences prefs = await SharedPreferences.getInstance(); // ignore: unused_local_variable String? token = prefs.getString('token').toString(); print("token is $token"); try { response = await dio.post(url, data: data, options: Options( headers: { "authorization": "Bearer $token", 'content-Type': 'application/json', "Accept": 'application/json' }, )); } on Exception catch (e) { if (e is DioException) { log(e.response.toString()); } return ResponseData( 'Opps something went wrong', ResponseStatus.FAILED); } // if (kDebugMode) { // print(response); // } // print("response in post $response"); if (response.statusCode == 200) { // print(response.data); return ResponseData("success", ResponseStatus.SUCCESS, data: response.data); } else { try { return ResponseData( response.data['message'].toString(), ResponseStatus.FAILED); } catch (_) { return ResponseData( response.statusMessage!, ResponseStatus.FAILED); } } } Future postFileUploadApi({data, required String url}) async { if (kDebugMode) { print("data >>> $data"); print("api url is >>> $url"); } Response response; SharedPreferences prefs = await SharedPreferences.getInstance(); // ignore: unused_local_variable String? token = prefs.getString('token').toString(); try { response = await dio.post(url, data: data, options: Options(headers: {"authorization": "Bearer $token"})); } on Exception catch (_) { return ResponseData( 'Opps something went wrong', ResponseStatus.FAILED); } if (kDebugMode) { print(response); } print("response in post $response"); if (response.statusCode == 200) { // print(response.data); return ResponseData("success", ResponseStatus.SUCCESS, data: response.data); } else { try { return ResponseData( response.data['message'].toString(), ResponseStatus.FAILED); } catch (_) { return ResponseData( response.statusMessage!, ResponseStatus.FAILED); } } } Future> postApiHttp( String token, String url, Map body) async { // var headers = { // 'Authorization': 'Bearer 1867|aBb92qswYsEzQa8LJayiuQw6B3Wofuj6iluUumLx', // 'Authorization': 'Bearer 189|yeRLynwInflhfnVObT7dd7R0Ywv91AIlxIKXoiAv', // 'Cookie': 'laravel_session=eyJpdiI6ImcwS2NYNlJYam4wcU1YUXJsYWZsb2c9PSIsInZhbHVlIjoiK0hvT3c5NmZFQ0NDajYxTUFaaVluWkpYbUkwYk1JbldyTVJwZitMN05zWnliaVdBNWZjTXpyVG5UODM1MTBaMzQwUCtNc3lGak5MQWRZamh2dWIvdzIxQnNVVWQrQi9NUi9YTS9PQWgxMlZHTENUNU0zY0VVazluNEplTFFvbGgiLCJtYWMiOiJkNjA0NjA4YWJhZDkxODA0YmQ2MTViNzc1MTg4OWRiODMzMjI5OGE0ZDI3MDRhMTAzM2E1MGY4ODQyMjI1NGIxIiwidGFnIjoiIn0%3D' // }; // controllerEntryPoint.logedIn! // ? // headers = {"authorization": "Bearer $token"}; // : headers = { // "authorization": // "Bearer 189|yeRLynwInflhfnVObT7dd7R0Ywv91AIlxIKXoiAv" // }; var headers = { 'Accept': 'application/json', 'Authorization': token, // 'Cookie': 'jerichoalternatives_session=eyJpdiI6Ik5KTWVUUnM2elR0b0Z0SWZneWY2Nmc9PSIsInZhbHVlIjoiY0s5WjV5UmJyZ3J2UUY1enY4KzZEblg5RmxWUm1KdXpmVWxQVTRKNUgyMThqRlJPK1lrcVhXMzJLMkhjSW5BdFJhNEgyTWFZQmM3Sll0aG52d1F4RGpSM0l4TlFWWlVPaUhpVFVsQ3lnaW8rSXJSY2Y2aG8ydFhqck8xTmlDaUMiLCJtYWMiOiI2MmNhZWZjYmZkMzBlYzhhZjcxNzRhMmM1OGJhYmRjM2JkOGMzM2Y3ZGFmMWViNWIyOTYyODY5ZDk3MmZmNGI3IiwidGFnIjoiIn0%3D' }; var request = http.MultipartRequest('POST', Uri.parse(url)); request.fields.addAll(body); request.headers.addAll(headers); http.StreamedResponse response = await request.send(); print(response.statusCode); if (response.statusCode == 200) { var resp = await response.stream.bytesToString(); var jsonResp = jsonDecode(resp); print(jsonResp); return ResponseData("success", ResponseStatus.SUCCESS, data: jsonResp); // return await response.stream.bytesToString(); } else if (response.statusCode == 201) { var resp = await response.stream.bytesToString(); var jsonResp = jsonDecode(resp); print(jsonResp); return ResponseData(jsonResp["message"], ResponseStatus.PRIVATE, data: jsonResp); } else if (response.statusCode == 400) { var resp = await response.stream.bytesToString(); var jsonResp = jsonDecode(resp); print(jsonResp); return ResponseData( jsonResp["message"], ResponseStatus.FAILED, ); } else if (response.statusCode == 422) { var resp = await response.stream.bytesToString(); var jsonResp = jsonDecode(resp); print(jsonResp); var errorMessage = jsonResp["errors"]["email2"].join(", ") + "\n" + jsonResp["errors"]["contact_number2"].join(", "); // return ResponseData( // jsonResp["errors"][0]["email2"] + // jsonResp["errors"][0]["contact_number2"], // ResponseStatus.PRIVATE, // ); return ResponseData( errorMessage, ResponseStatus.PRIVATE, ); } else if (response.statusCode == 500) { var resp = await response.stream.bytesToString(); var jsonResp = jsonDecode(resp); print(jsonResp); return ResponseData( jsonResp["message"], ResponseStatus.FAILED, ); } else { return ResponseData( response.reasonPhrase!, ResponseStatus.FAILED, ); } } Future postslugApi(String url) async { if (kDebugMode) { print("api url is >>> $url"); } Response response; SharedPreferences prefs = await SharedPreferences.getInstance(); // String? token = prefs.getString('token'); String? token = prefs.getString('token').toString(); print("token is $token"); try { response = await dio.post(url, options: Options(headers: {"authorization": "Bearer $token"})); } on Exception catch (_) { return ResponseData( 'Oops something Went Wrong', ResponseStatus.FAILED); } if (response.statusCode == 200) { return ResponseData("success", ResponseStatus.SUCCESS, data: response.data); } else { try { return ResponseData( response.data['message'].toString(), ResponseStatus.FAILED); } catch (_) { return ResponseData( response.statusMessage!, ResponseStatus.FAILED); } } } }