extend/think/repair/middleware/CheckRequestCache.php
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php
/**
* 人人站CMS
* ============================================================================
* 版权所有 2015-2030 山东康程信息科技有限公司,并保留所有权利。
* 网站地址: http://www.rrzcms.com
* ----------------------------------------------------------------------------
* 如果商业用途务必到官方购买正版授权, 以免引起不必要的法律纠纷.
* ============================================================================
*/
namespace think\repair\middleware;
use think\middleware\CheckRequestCache as Base;
use think\Request;
use think\Response;
use Closure;
/**
* Class CheckRequestCache
* @package think\repair\middleware
*/
class CheckRequestCache extends Base
{
/**
* 设置当前地址的请求缓存
* @access public
* @param Request $request
* @param Closure $next
* @param mixed $cache
* @return Response
*/
public function handle($request, Closure $next, $cache = null)
{
if ($request->isGet() && false !== $cache) {
if (false === $this->config['request_cache_key']) {
// 关闭当前缓存
$cache = false;
}
$cache = $cache ?? $this->getRequestCache($request);
if ($cache) {
if (is_array($cache)) {
[$key, $expire, $tag] = array_pad($cache, 3, null);
} else {
$key = md5($request->url(true));
$expire = $cache;
$tag = null;
}
$key = $this->parseCacheKey($request, $key);
if ($this->cache->has($key) && strtotime($request->server('HTTP_IF_MODIFIED_SINCE', '')) + $expire > $request->server('REQUEST_TIME')) {
// 读取缓存
return Response::create()->code(304);
} elseif (($hit = $this->cache->get($key)) !== null) {
[$content, $header, $when] = $hit;
return Response::create($content)->header($header);
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。