Вход Регистрация
Файл: error-kitty/node_modules/express/node_modules/fresh/index.js
Строк: 58
<?php
/**
 * Expose `fresh()`.
 */

module.exports fresh;

/**
 * Check freshness of `req` and `res` headers.
 *
 * When the cache is "fresh" __true__ is returned,
 * otherwise __false__ is returned to indicate that
 * the cache is now stale.
 *
 * @param {Object} req
 * @param {Object} res
 * @return {Boolean}
 * @api public
 */

function fresh(reqres) {
  
// defaults
  
var etagMatches true;
  var 
notModified true;

  
// fields
  
var modifiedSince req['if-modified-since'];
  var 
noneMatch req['if-none-match'];
  var 
lastModified res['last-modified'];
  var 
etag res['etag'];
  var 
cc req['cache-control'];

  
// unconditional request
  
if (!modifiedSince && !noneMatch) return false;

  
// check for no-cache cache request directive
  
if (cc && cc.indexOf('no-cache') !== -1) return false;  

  
// parse if-none-match
  
if (noneMatchnoneMatch noneMatch.split(/ *, */);

  
// if-none-match
  
if (noneMatchetagMatches = ~noneMatch.indexOf(etag) || '*' == noneMatch[0];

  
// if-modified-since
  
if (modifiedSince) {
    
modifiedSince = new Date(modifiedSince);
    
lastModified = new Date(lastModified);
    
notModified lastModified <= modifiedSince;
  }

  return !! (
etagMatches && notModified);
}
?>
Онлайн: 0
Реклама