code: function serve(req, res, next) {
      if (req.method !== 'GET' && req.method !== 'HEAD') return next();
  
      // surprisingly (bug?) express does not auto-decode req.path
      var reqPath = decodeURI(req.path);
  
      var file$ = self.file$;
  
      // try straight match
      var spo = file$[reqPath];
  
      if (!spo && !/\/$|\.[^/]+$/.test(reqPath)) {
  
        // try adding trailing / and redirect if found
        if (self.trailingSlash) {
          var redir = reqPath + '/';
          spo = file$[redir];
          if (spo) {
            debug('static redirect %s %s', reqPath, redir);
            return res.redirect(302, redir); // use 302 to avoid browser redir caching
          }
        }
  
        // try extensions
        if (!spo && self.extensions) {
          for (var i=0; i<self.extensions.length; i++) {
            if ((spo = file$[reqPath + self.extensions[i]])) break;
          }
        }
      }
  
      if (!spo) return next(); // give up
  
      if (self.noHtmlExtensions && !path.extname(spo.file)) {
        res.setHeader('Content-Type', 'text/html; charset=utf-8');
      }
  
      debug('static %s%s', reqPath, (reqPath !== spo.file ? ' -> ' + spo.file : ''));
  
      var doit = function() { send(req, spo.file, spo.sp.sendOpts).pipe(res); };
  
      if (spo.sp.delay) return u.delay(doit, u.ms(spo.sp.delay));
  
      doit();
    }
docs: only serve files in self.file$