import 'dart:convert'; import '../data/session/session_storage.dart'; import 'package:http/http.dart' as http; class BaseService { int currentPage = 0; int limit = 20; int total = 0; //String baseUrl = 'hermogas.est.api.rdsistemas.app'; //produccion: hermogas.est.api.rdsistemas.app //prueba: hermogas.est.test.rdsistemas.app String base_url = 'https://pos.papas.edesarrollos.info'; String baseUrl = 'pos.papas.edesarrollos.info'; Future> getDefaultHeaders({withAuth = true}) async { Map defaultHeaders = {'Content-Type': 'application/json'}; if (withAuth) { String? token = await SessionStorage().getToken(); defaultHeaders['Authorization'] = 'Bearer ${token ?? ''}'; } return defaultHeaders; } Future get(String endpoint, {bool withAuth = true, Map? queryParameters, Map? headers}) async { final uri = Uri.https(baseUrl, endpoint, queryParameters); var defaultHeaders = await getDefaultHeaders(withAuth: withAuth); var head = {...?headers, ...defaultHeaders}; return await http.get(uri, headers: head); } Future post(String endpoint, {bool withAuth = true, Map? queryParameters, Map? body, Map? headers}) async { final uri = Uri.https(baseUrl, endpoint, queryParameters); var defaultHeaders = await getDefaultHeaders(withAuth: withAuth); var head = {...?headers, ...defaultHeaders}; return await http.post(uri, body: json.encode(body), headers: head); } Future delete(String endpoint, {bool withAuth = true, Map? queryParameters, Map? body, Map? headers}) async { final uri = Uri.https(baseUrl, endpoint, queryParameters); var defaultHeaders = await getDefaultHeaders(withAuth: withAuth); var head = {...?headers, ...defaultHeaders}; return await http.delete(uri, body: json.encode(body), headers: head); } }