title: express.js object values remain/persist between requests, require() cache?
body: <p>I'm fairly new to node/express but love it so far.  </p>
  
  <p>One thing I've noticed after writing a few apps now, is that property values of the request object will sometimes persist between requests within required modules; and not necessarily from the same IP or even browser. </p>
  
  <p>Take for example, this super simple GET request:</p>
  
  <pre><code>GET /lookup/?first=ben&amp;last=ipsen
  </code></pre>
  
  <p>Which gets handled something like this:</p>
  
  <pre><code>app.get('/lookup/', function(req, res){ 
       lookup = require('lookup')
       lookup.find_user(req, res, function(err, user){
          if(err) throw new Error(err) 
          res.send(user) 
       });
  
   });
  </code></pre>
  
  <p>Obviously, this works well and life is great. However...
  If a second request is received with empty or absent values, say:</p>
  
  <pre><code> GET /lookup/?first=
  
  app.get('/lookup/', function(req, res){ 
       lookup = require('lookup')
       lookup.find_user(req, res, function(err, user){
          if(err) throw new Error(err) 
          // user.first = ben 
          // user.last = ipsen !?
          res.send(user) 
       });
  
   });
  </code></pre>
  
  <p>Is this an issue caused by the require cache and not express' fault?  Am I making a mistake by loading a modules within a request? There are many cases where I want to load a specific module based on the request but I can live without that 'require'ment.. har.   </p>
  
  <p>I'm surely experiencing some novice issues here, but as always any guidance is appreciated!</p>