All favicons implementations have been documented and moved to the Python
package:
    searx.favicons
There is a configuration (based on Pydantic) for the favicons and all its
components:
    searx.favicons.config
A solution for caching favicons has been implemented:
    searx.favicon.cache
If the favicon is already in the cache, the returned URL is a data URL [1]
(something like `data:image/png;base64,...`).  By generating a data url from
the FaviconCache, additional HTTP roundtripps via the favicon_proxy are saved:
    favicons.proxy.favicon_url
The favicon proxy service now sets a HTTP header "Cache-Control: max-age=...":
    favicons.proxy.favicon_proxy
The resolvers now also provide the mime type (data, mime):
    searx.favicon.resolvers
[1] https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs
Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
		
	
			
		
			
				
	
	
		
			19 lines
		
	
	
		
			301 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			19 lines
		
	
	
		
			301 B
		
	
	
	
		
			Python
		
	
	
	
	
	
# SPDX-License-Identifier: AGPL-3.0-or-later
 | 
						|
"""Compatibility with older versions"""
 | 
						|
 | 
						|
# pylint: disable=unused-import
 | 
						|
 | 
						|
__all__ = [
 | 
						|
    "tomllib",
 | 
						|
]
 | 
						|
 | 
						|
import sys
 | 
						|
 | 
						|
# TOML (lib) compatibility
 | 
						|
# ------------------------
 | 
						|
 | 
						|
if sys.version_info >= (3, 11):
 | 
						|
    import tomllib
 | 
						|
else:
 | 
						|
    import tomli as tomllib
 |