diff options
| author | Urban Müller | 2023-03-23 17:36:13 +0100 | 
|---|---|---|
| committer | Urban Müller | 2023-03-23 17:36:13 +0100 | 
| commit | abf0ec9a4a770328bfb39916272d9d80654b1b75 (patch) | |
| tree | 70a4581048ad9ba8cce8d422d6058a0a82b9d275 | |
| parent | 181342b8e9fd9106d3b1ab1fd0b808e299871766 (diff) | |
| download | itools-abf0ec9a4a770328bfb39916272d9d80654b1b75.tar.gz itools-abf0ec9a4a770328bfb39916272d9d80654b1b75.tar.bz2 itools-abf0ec9a4a770328bfb39916272d9d80654b1b75.zip  | |
support cachemiss flag
| -rw-r--r-- | it_url.class | 9 | 
1 files changed, 5 insertions, 4 deletions
diff --git a/it_url.class b/it_url.class index ba194e7..26794be 100644 --- a/it_url.class +++ b/it_url.class @@ -703,25 +703,26 @@ static function get_cache($p = array())  		it::log('debug', 'getcachelog', $p['id'], $p['url'], !$isnewfile ? "" : "fetched=" . mb_substr(is_string($data) ? $data : "(assoc)", 0, 400));  	### EDC('getcache', $success, $path); # too verbose -	return $success ? ($p['returnheaders'] ? array($path, $headers) : $path) : false; +	return !$success ? false : ($p['returnheaders'] ? [$path, $headers] : ($p['returncachemiss'] ? [$path, $isnewfile] : $path));  }  /**   * Fetch a file, cache it and return contents   * @param @see it_url::get_cache() - * @param $p['assoc']         Return [ 'data' => string, 'status' => int, 'cookies' => array, 'headers' => array, 'errstr' => string ] instead of just data + * @param $p['assoc']         Return [ 'data' => string, 'status' => int, 'cookies' => array, 'headers' => array, 'errstr' => string, 'cachemiss' => bool ] instead of just data   * @return @see it_url::get()   */  static function get_cache_contents($p)  { -	if ($fn = self::get_cache($p)) +	[$fn, $cachemiss] = self::get_cache($p + ['returncachemiss' => true]); +	if ($fn)  	{  		$result = it::file_get_contents($fn);  		if ($p['assoc'])  		{  			$response = it::match('^\{', $result) ? it::json_decode($result, 'assoc' => true) : unserialize($result); # FIXME 2023-05 UM remove legacy support  			$response['data'] = self::_postprocess($response['data'], $p); -			$result = $response; +			$result = $response + ['cachemiss' => $cachemiss];  		}  		else  			$result = self::_postprocess($result, $p);  |