Привет, прочитав о безопасных способах хранения ключей API, я решил создать собственное реле API, развернутое на heroku, на примере API Goodreads. В настоящее время я получаю следующее сообщение со стороны клиента: ошибка с консоли
и ниже - мой код:
const express = require("express");
const fetch = require("node-fetch");
const parseString = require('xml2js').parseString;
const rateLimit = require("express-rate-limit");
const app = express();
const cors = require('cors');
const port = process.env.PORT || 5000;
app.use(cors());
app.set('trust proxy', 1);
const limiter = rateLimit({
windowMs: 1000, // 1 second
max: 1, // limit each IP to 1 requests per windowMs
});
app.use(limiter);
app.get("/", (req, res) => res.send("Hello World!"));
app.post("/api/:search", (req, res) => {
const searchString = `q=${req.query.q}`;
res.setHeader("Access-Control-Allow-Origin", "*");
res.setHeader("Access-Control-Allow-Credentials", "true");
res.setHeader("Access-Control-Allow-Methods", "OPTIONS,POST,GET");
(async function fetchGoodReads() {
const response = await fetch(
`https://www.goodreads.com/search.xml?key=${process.env.GOODREADS_API_KEY}&${searchString}`
);
var xml = await response.text();
parseString(xml, (err, result)=> res.send(result.GoodreadsResponse.search));
})();
});
app.listen(port, () => console.log(`Relay app listening on port ${port}!`));
Я также попробовал почтальон, ответЯ получаю это страницу ошибки от героку. Любая помощь приветствуется:)