Работая с API-интерфейсом кошелька Blockchain, у меня одновременно работают 3 сервера (5000 узлов, 3000 реагирующих, 3001 блокчейн). Основная цель - когда пользователь регистрируется, он запускает запрос на blockchain api для создания новой учетной записи, а затем принимает эту информацию и сохраняет ее у нового пользователя следующим образом.
export const register = ({first_name, last_name, email, password}) => dispatch => {
const config1 = {
headers: {
"Content-Type": "application/json",
"Access-Control-Allow-Origin": "*"
}};
axios
.get(
`/merchant/${process.env.REACT_APP_WALLET_GUID}/accounts/create?${process.env.REACT_APP_WALLET_PASS}&label=${first_name}${last_name}`,
config1
).then(res => {
console.log("response 1", res.data);
const config2 = {
headers: {
"Content-Type": "application/json",
"Access-Control-Allow-Origin": "*"
}
};
axios
.get(
`/merchant/${process.env.REACT_APP_WALLET_GUID}/accounts/?${process.env.REACT_APP_WALLET_PASS}`,
config2
).then(res => {
const { receiveAddress, extendedPublicKey } = res.data[
res.data.length - 1
];
console.log("response 2", res.data);
const config = {
headers: {
"Content-Type": "application/json"
}
};
const body = JSON.stringify({
first_name,
last_name,
email,
password,
receiveAddress,
extendedPublicKey
});
axios
.post("/api/users", body, config)
.then(res =>
dispatch({
type: REGISTER_SUCCESS,
payload: res.data
})
)
.catch(err => {
dispatch(
returnErrors(
err.response.data,
err.response.status,
"REGISTER_FAIL"
)
);
dispatch({
type: REGISTER_FAIL
});
});
});
});};
То есть это вложенный топор ios запрос. Я должен был сделать прокси-файл в клиенте, чтобы иметь возможность обойти ошибку CORS для локального запуска.
const proxy = require("http-proxy-middleware");
module.exports = function(app) {
app.use(proxy("/merchant", { target: "http://localhost:3001" }));};
Но когда я пу sh в heroku и пытаюсь зарегистрировать запрос POST отвечает text / html моего индекса. html в моей сборке, которая используется по умолчанию. и не будет регистрировать пользователя, потому что информация из запроса цепочки блоков должна быть добавлена к запросу registerUser, и она не возвращается ни с чем. Если он работает локально, теоретически он должен работать в производстве? Я чувствую, что что-то упустил с одним из моих маршрутов / прокси?