base_service.dart 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import 'dart:convert';
  2. import '../data/session/session_storage.dart';
  3. import 'package:http/http.dart' as http;
  4. class BaseService {
  5. int currentPage = 0;
  6. int limit = 20;
  7. int total = 0;
  8. //produccion: hermogas.est.api.rdsistemas.app
  9. //prueba: hermogas.est.test.rdsistemas.app
  10. String base_url = 'https://sis.api.edesarrollos.info';
  11. String baseUrl = 'sis.api.edesarrollos.info';
  12. Future<Map<String, String>> getDefaultHeaders({withAuth = true}) async {
  13. Map<String, String> defaultHeaders = {'Content-Type': 'application/json'};
  14. if (withAuth) {
  15. String? token = await SessionStorage().getToken();
  16. defaultHeaders['Authorization'] = 'Bearer ${token ?? ''}';
  17. }
  18. return defaultHeaders;
  19. }
  20. Future<http.Response> get(String endpoint,
  21. {bool withAuth = true,
  22. Map<String, String>? queryParameters,
  23. Map<String, String>? headers}) async {
  24. final uri = Uri.https(baseUrl, endpoint, queryParameters);
  25. var defaultHeaders = await getDefaultHeaders(withAuth: withAuth);
  26. var head = {...?headers, ...defaultHeaders};
  27. return await http.get(uri, headers: head);
  28. }
  29. Future<http.Response> post(String endpoint,
  30. {bool withAuth = true,
  31. Map<String, String>? queryParameters,
  32. Map<String, dynamic>? body,
  33. Map<String, String>? headers}) async {
  34. final uri = Uri.https(baseUrl, endpoint, queryParameters);
  35. var defaultHeaders = await getDefaultHeaders(withAuth: withAuth);
  36. var head = {...?headers, ...defaultHeaders};
  37. return await http.post(uri, body: json.encode(body), headers: head);
  38. }
  39. Future<http.Response> delete(String endpoint,
  40. {bool withAuth = true,
  41. Map<String, String>? queryParameters,
  42. Map<String, dynamic>? body,
  43. Map<String, String>? headers}) async {
  44. final uri = Uri.https(baseUrl, endpoint, queryParameters);
  45. var defaultHeaders = await getDefaultHeaders(withAuth: withAuth);
  46. var head = {...?headers, ...defaultHeaders};
  47. return await http.delete(uri, body: json.encode(body), headers: head);
  48. }
  49. }