You've already forked favicon-api-async
修改失败URL处理逻辑
This commit is contained in:
@@ -20,11 +20,10 @@ _icon_root_path = setting.icon_root_path
|
||||
_default_icon_path = setting.default_icon_path
|
||||
|
||||
# 创建FastAPI路由器
|
||||
favicon_router = APIRouter(prefix="", tags=["favicon"])
|
||||
favicon_router = APIRouter(prefix="/icon", tags=["favicon"])
|
||||
|
||||
|
||||
@favicon_router.get('/icon/')
|
||||
@favicon_router.get('/icon')
|
||||
@favicon_router.get('/')
|
||||
async def get_favicon(
|
||||
request: Request,
|
||||
bg_tasks: BackgroundTasks,
|
||||
@@ -37,13 +36,13 @@ async def get_favicon(
|
||||
return await favicon_service.get_favicon_handler(request, bg_tasks, url, refresh)
|
||||
|
||||
|
||||
@favicon_router.get('/icon/default')
|
||||
@favicon_router.get('/default')
|
||||
async def get_default_icon():
|
||||
"""获取默认图标"""
|
||||
return favicon_service.get_default()
|
||||
|
||||
|
||||
@favicon_router.get('/icon/referer', include_in_schema=False)
|
||||
@favicon_router.get('/referer', include_in_schema=False)
|
||||
async def get_referrer(unique: Optional[str] = Query(None)):
|
||||
"""获取请求来源信息,带unique参数时会进行去重处理"""
|
||||
content = 'None'
|
||||
|
||||
@@ -258,15 +258,11 @@ async def get_favicon_handler(request: Request,
|
||||
return get_default(setting.time_of_1_days)
|
||||
|
||||
# 检查缓存中的失败URL
|
||||
if entity.domain in favicon.failed_urls:
|
||||
if int(time.time()) <= favicon.failed_urls.get(entity.domain):
|
||||
return get_default(setting.time_of_1_days)
|
||||
else:
|
||||
del favicon.failed_urls[entity.domain]
|
||||
if favicon.is_failed_url(entity.domain):
|
||||
return get_default(setting.time_of_1_days)
|
||||
|
||||
logger.info(
|
||||
f"-> count (failed/cached/icon/url): "
|
||||
f"{len(favicon.failed_urls)}/{_cache_count}/{_icon_count}/{_url_count}"
|
||||
logger.debug(
|
||||
f"-> count (cached/icon/url): "f"{_cache_count}/{_icon_count}/{_url_count}"
|
||||
)
|
||||
|
||||
# 检查缓存
|
||||
@@ -333,7 +329,7 @@ async def get_icon_async(entity: Favicon, _cached: bytes = None) -> Optional[byt
|
||||
# 0. 从原始网页标签链接中获取
|
||||
lambda: (icon_url, "原始网页标签") if icon_url else (None, None),
|
||||
]
|
||||
|
||||
|
||||
# 2. 从配置文件加载其他图标获取接口
|
||||
for _template, _name in setting.FAVICON_APIS:
|
||||
strategies.append(
|
||||
|
||||
Reference in New Issue
Block a user