I managed to redirect root '/'
to '/users'
but '/users'
endpoint status overwrites the root endpoint status.
JavaScript
x
8
1
app.get('/', (req, res) => {
2
res.redirect(301, '/users');
3
});
4
5
app.get('/users', (req, res) => {
6
res.status(200).json(data.filter(user => user.isActive === true));
7
});
8
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.
JavaScript
1
13
13
1
app.get('/', (req, res) => {
2
res.redirect(301, '/users?redirect=true');
3
});
4
5
app.get('/users', (req, res) => {
6
const redirect = req.query.redirect;
7
if (redirect) {
8
res.status(301).json(data.filter(user => user.isActive === true));
9
} else {
10
res.status(200).json(data.filter(user => user.isActive === true));
11
}
12
});
13