Node js - Express js code is executing after redirect
express, node.js
Solution
No, it shouldn't.
You're simply calling a function on the response. Code below it can execute. There is nothing magical about `res.redirect()`.
A common practice to avoid this is to simply return when you redirect or otherwise call a callback where you want to exit the current function:
return res.redirect(302, 'https://' + req.host + '/' + url);
Problem
I have an express web app. And within the app, I have a route that makes several calls to the database. During each call, if it fails, then I am redirecting the browser to a page /temporarily-unavailable (basically a generic error page that doesn't freak the user out, just says try back later). PORTION OF PSEUDO-CODE ``` app.get('/sign-in/twitter', function(req, res, next){ request({ 'method' : 'GET', // BLAH BLAH BLAH CALL TO DATABASE // DATABASE CALLBACK function (error, response, body){ if (response.statusCode === 200) { // DO GOOD STUFF } else if (response.statusCode === 404) { // DO COOL STUFF } else { temporarilyUnavailable(req, res, next); } // DO MORE STUFF AND SEND A RESPONSE } } } ``` PORTION OF PSEUDO-CODE FOR TEMPORARILY UNAVAILABLE FUNCTION ``` res.set({ 'Cache-Control' : 'private, no-cache, no-store, must-revalidate, 'Content-Type' : 'text/plain;charset=utf-8', } res.redirect(302, 'https://' + req.host + '/' + url); ``` Shoudn't the res.redirect in the TEMPORARILY UNAVAILABLE FUNCTION prevent any code further down from being executed?