base_service.dart 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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. String base_url = 'https://pos.conalep.turquessacoffee.com';
  9. String baseUrl = 'pos.conalep.turquessacoffee.com';
  10. Future<Map<String, String>> getDefaultHeaders({withAuth = true}) async {
  11. Map<String, String> defaultHeaders = {'Content-Type': 'application/json'};
  12. if (withAuth) {
  13. String? token = await SessionStorage().getToken();
  14. defaultHeaders['Authorization'] = 'Bearer ${token ?? ''}';
  15. }
  16. return defaultHeaders;
  17. }
  18. Future<http.Response> get(String endpoint,
  19. {bool withAuth = true,
  20. Map<String, String>? queryParameters,
  21. Map<String, String>? headers}) async {
  22. final uri = Uri.https(baseUrl, endpoint, queryParameters);
  23. var defaultHeaders = await getDefaultHeaders(withAuth: withAuth);
  24. var head = {...?headers, ...defaultHeaders};
  25. return await http.get(uri, headers: head);
  26. }
  27. Future<http.Response> post(String endpoint,
  28. {bool withAuth = true,
  29. Map<String, String>? queryParameters,
  30. Map<String, dynamic>? body,
  31. Map<String, String>? headers}) async {
  32. final uri = Uri.https(baseUrl, endpoint, queryParameters);
  33. var defaultHeaders = await getDefaultHeaders(withAuth: withAuth);
  34. var head = {...?headers, ...defaultHeaders};
  35. return await http.post(uri, body: json.encode(body), headers: head);
  36. }
  37. Future<http.Response> delete(String endpoint,
  38. {bool withAuth = true,
  39. Map<String, String>? queryParameters,
  40. Map<String, dynamic>? body,
  41. Map<String, String>? headers}) async {
  42. final uri = Uri.https(baseUrl, endpoint, queryParameters);
  43. var defaultHeaders = await getDefaultHeaders(withAuth: withAuth);
  44. var head = {...?headers, ...defaultHeaders};
  45. return await http.delete(uri, body: json.encode(body), headers: head);
  46. }
  47. }