I managed to redirect root '/' to '/users' but '/users' endpoint status overwrites the root endpoint status.
app.get('/', (req, res) => {
res.redirect(301, '/users');
});
app.get('/users', (req, res) => {
res.status(200).json(data.filter(user => user.isActive === true));
});
How is it possible to check whether '/users' endpoint is accessed through redirect or not and then set res.status appropriately?
Advertisement
Answer
I am not sure why you want root api http status to be send in response of /users api but below hack can be applied to recognise if request are received from root api.
app.get('/', (req, res) => {
res.redirect(301, '/users?redirect=true');
});
app.get('/users', (req, res) => {
const redirect = req.query.redirect;
if (redirect) {
res.status(301).json(data.filter(user => user.isActive === true));
} else {
res.status(200).json(data.filter(user => user.isActive === true));
}
});