run-api
Version:
npm package to resolve CORS problem
157 lines (133 loc) • 3.96 kB
JavaScript
// const fetch = require("node-fetch");
import fetch from "node-fetch";
// const CORS_RESOLVER_OPTIONS = {
// origin: '*',
// methods: ['GET', 'POST', 'PUT', 'PATCH', 'DELETE'],
// allowedHeaders: ['Content-Type', 'Authorization'],
// credentials: true,
// maxAge: 3600,
// };
// const CORS_RESOLVER_API_URL = "http://localhost:8001/api/v1/cors-resolver";
// const CORS_RESOLVER_API_URL = "http://65.1.169.125:3050/api/v1/cors-resolver";
const CORS_RESOLVER_API_URL =
"https://run-api.onrender.com/api/v1/cors-resolver";
// <====================== GET ======================>
const get = async (reqUrl, reqOptions) => {
try {
const response = await fetch(`${CORS_RESOLVER_API_URL}?${reqUrl}`, {
method: "GET",
headers: {
"Content-Type": "application/json;charset=UTF-8",
"Access-Control-Allow-Origin": "*",
...(reqOptions ?? reqOptions?.headers),
},
});
const resData = await response.json();
// console.log("resData", resData);
return resData;
} catch (err) {
console.log("err", err);
}
};
// <====================== POST ======================>
const post = async (reqUrl, reqBody, reqOptions) => {
if (reqBody) {
try {
const response = await fetch(`${CORS_RESOLVER_API_URL}?${reqUrl}`, {
method: "POST",
headers: {
"Content-Type": "application/json;charset=UTF-8",
"Access-Control-Allow-Origin": "*",
...(reqOptions ?? reqOptions?.headers),
},
body: JSON.stringify(reqBody),
});
const resData = await response.json();
// console.log("resData", resData);
return resData;
} catch (err) {
console.log("err", err);
}
} else {
return { status: "error", message: "reqBody is required" };
}
};
// <====================== PUT ======================>
const put = async (reqUrl, reqBody, reqOptions) => {
if (reqBody) {
try {
const response = await fetch(`${CORS_RESOLVER_API_URL}?${reqUrl}`, {
method: "PUT",
headers: {
"Content-Type": "application/json;charset=UTF-8",
"Access-Control-Allow-Origin": "*",
...(reqOptions ?? reqOptions?.headers),
},
body: JSON.stringify(reqBody),
});
const resData = await response.json();
// console.log("resData", resData);
return resData;
} catch (err) {
console.log("err", err);
}
} else {
return { status: "error", message: "reqBody is required" };
}
};
// <====================== PATCH ======================>
const patch = async (reqUrl, reqBody, reqOptions) => {
if (reqBody) {
try {
const response = await fetch(`${CORS_RESOLVER_API_URL}?${reqUrl}`, {
method: "PATCH",
headers: {
"Content-Type": "application/json;charset=UTF-8",
"Access-Control-Allow-Origin": "*",
...(reqOptions ?? reqOptions?.headers),
},
body: JSON.stringify(reqBody),
});
const resData = await response.json();
// console.log("resData", resData);
return resData;
} catch (err) {
console.log("err", err);
}
} else {
return { status: "error", message: "reqBody is required" };
}
};
// <====================== DELETE ======================>
const delele = async (reqUrl, reqOptions) => {
try {
const response = await fetch(`${CORS_RESOLVER_API_URL}?${reqUrl}`, {
method: "DELETE",
headers: {
"Content-Type": "application/json;charset=UTF-8",
"Access-Control-Allow-Origin": "*",
...(reqOptions ?? reqOptions?.headers),
},
});
const resData = await response.json();
// console.log("resData", resData);
return resData;
} catch (err) {
console.log("err", err);
}
};
// export
// module.exports = {
// get,
// post,
// put,
// patch,
// delele,
// };
export default {
get,
post,
put,
patch,
delele,
};