123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- const { REACT_APP_API_URL: baseUrl } = process.env;
- const localStorageKey = "usr_jwt";
- const getCurrentToken = () => {
- return new Promise((resolve, reject) => {
- const jwt = localStorage.getItem(localStorageKey);
- if (!jwt) reject("No hay sesión.");
- resolve(jwt);
- });
- };
- const getHeaders = (token) => ({
- "Content-Type": "application/json",
- Accept: "application/json",
- Authorization: `Bearer ${token}`,
- });
- const getHeadersWithoutToken = () => ({
- "Content-Type": "application/json",
- Accept: "application/json",
- });
- const HttpService = {
- get: async (url, auth = true) => {
- let token = null;
- if (auth) token = await getCurrentToken();
- const response = await fetch(baseUrl + url, {
- method: "GET",
- headers: auth ? getHeaders(token) : getHeadersWithoutToken(),
- });
- return response.json();
- },
- post: async (url, data, auth = true) => {
- let token = null;
- if (auth) token = await getCurrentToken();
- const response = await fetch(baseUrl + url, {
- method: "POST",
- headers: auth ? getHeaders(token) : getHeadersWithoutToken(),
- body: JSON.stringify(data),
- });
- return response.json();
- },
- };
- export default HttpService;
|