Added basic error reporting
This commit is contained in:
parent
e63187165b
commit
ff66188f5f
@ -1,42 +1,40 @@
|
|||||||
const express = require("express");
|
const express = require("express");
|
||||||
const router = express.Router();
|
const router = express.Router();
|
||||||
const axios = require("axios");
|
const axios = require("axios");
|
||||||
const qs = require("querystring");
|
const url = require("url");
|
||||||
const util = require("util");
|
const util = require("util");
|
||||||
|
|
||||||
router.get("/", (req, res) => {
|
router.get("/", (req, res) => {
|
||||||
// token in session -> get user data and send it back to the vue app
|
// token in session -> get user data and send it back to the vue app
|
||||||
if (req.session.token) {
|
if (req.session.token) {
|
||||||
query(req.query.threadId);
|
query(req.query.referenceId);
|
||||||
}
|
}
|
||||||
// no token -> send nothing
|
// no token -> send nothing
|
||||||
else {
|
else {
|
||||||
axios
|
const params = new url.URLSearchParams({
|
||||||
.post(
|
|
||||||
process.env.EO_API_ACCESS_TOKEN_URL,
|
|
||||||
qs.stringify({
|
|
||||||
grant_type: "password",
|
grant_type: "password",
|
||||||
username: process.env.EO_API_USERNAME,
|
username: process.env.EO_API_USERNAME,
|
||||||
password: process.env.EO_API_PASSWORD,
|
password: process.env.EO_API_PASSWORD,
|
||||||
scope: process.env.EO_API_SCOPE,
|
scope: process.env.EO_API_SCOPE,
|
||||||
client_id: process.env.EO_API_CLIENT_ID,
|
client_id: process.env.EO_API_CLIENT_ID,
|
||||||
client_secret: process.env.EO_API_SECRET,
|
client_secret: process.env.EO_API_SECRET,
|
||||||
}),
|
});
|
||||||
{
|
|
||||||
|
axios
|
||||||
|
.post(process.env.EO_API_ACCESS_TOKEN_URL, params.toString(), {
|
||||||
headers: {
|
headers: {
|
||||||
"Content-Type": "application/x-www-form-urlencoded",
|
"Content-Type": "application/x-www-form-urlencoded",
|
||||||
},
|
},
|
||||||
}
|
})
|
||||||
)
|
|
||||||
.then((result) => {
|
.then((result) => {
|
||||||
// save token to session
|
// save token to session
|
||||||
req.session.token = result.data.access_token;
|
req.session.token = result.data.access_token;
|
||||||
console.log(result);
|
console.log(result);
|
||||||
//redirect to Vue app
|
|
||||||
query(req.query.referenceId);
|
query(req.query.referenceId);
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.error(err);
|
sendError(err, res);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -219,8 +217,24 @@ router.get("/", (req, res) => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log(err);
|
// bin the token on error
|
||||||
|
req.session.destroy();
|
||||||
|
sendError(err, res);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
module.exports = router;
|
module.exports = router;
|
||||||
|
function sendError(err, res) {
|
||||||
|
console.error(err);
|
||||||
|
const errStatus = 500;
|
||||||
|
if (err.response) errStatus = err.response.status;
|
||||||
|
res.status(errStatus).send({
|
||||||
|
errors: [
|
||||||
|
{
|
||||||
|
status: errStatus,
|
||||||
|
title: err.code,
|
||||||
|
detail: err.message,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user