express-http-proxy icon indicating copy to clipboard operation
express-http-proxy copied to clipboard

Question: How to cancel the request and return 401?

Open cawoodmonads opened this issue 6 months ago • 0 comments

We want to check specific headers (say X-API-Key) and cancel the proxy request if they are incorrect. We've tried putting the logic in a filter() function but return false does not cancel the request - it passes the request on to the next handler in express. Even if we .status(401).send().end() the request is still passed on to the next handler.

  filter: function(req, res) {
    if (req.header('x-api-key') !== 'secretkey') {
      res.status(401).send('Invalid X-API-Key!').end(); // This works for the client
      return false; // This causes an express error on the server
    }
    return true;
  },

How can we cancel/block the request from being proxied?

cawoodmonads avatar Aug 08 '24 12:08 cawoodmonads