Round 3 fixes: cancelled polling, aggregator invalid_count, filter state, scheduler atomicity, HTTP exception handler, tests
This commit is contained in:
@@ -52,7 +52,7 @@ async def list_proxies(
|
||||
async def get_random_proxy(service: ProxyService = Depends(get_proxy_service)):
|
||||
proxy = await service.get_random_proxy()
|
||||
if not proxy:
|
||||
raise ProxyNotFoundException("", 0)
|
||||
raise ProxyPoolException("暂无可用代理", 404)
|
||||
return success_response("获取随机代理成功", format_proxy(proxy))
|
||||
|
||||
|
||||
@@ -68,12 +68,8 @@ async def export_proxies(
|
||||
|
||||
media_types = {"csv": "text/csv", "txt": "text/plain", "json": "application/json"}
|
||||
|
||||
async def generate():
|
||||
async for chunk in service.export_proxies(fmt, protocol, limit):
|
||||
yield chunk
|
||||
|
||||
return StreamingResponse(
|
||||
generate(),
|
||||
service.export_proxies(fmt, protocol, limit),
|
||||
media_type=media_types[fmt],
|
||||
headers={"Content-Disposition": f"attachment; filename=proxies.{fmt}"},
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user