diff --git a/routstr/core/settings.py b/routstr/core/settings.py index 302df24d..6cbec561 100644 --- a/routstr/core/settings.py +++ b/routstr/core/settings.py @@ -59,7 +59,7 @@ class Settings(BaseSettings): cors_origins: list[str] = Field(default_factory=lambda: ["*"], env="CORS_ORIGINS") tor_proxy_url: str = Field(default="socks5://127.0.0.1:9050", env="TOR_PROXY_URL") providers_refresh_interval_seconds: int = Field( - default=300, env="PROVIDERS_REFRESH_INTERVAL_SECONDS" + default=0, env="PROVIDERS_REFRESH_INTERVAL_SECONDS" ) pricing_refresh_interval_seconds: int = Field( default=120, env="PRICING_REFRESH_INTERVAL_SECONDS" diff --git a/routstr/discovery.py b/routstr/discovery.py index 03a82703..94375b63 100644 --- a/routstr/discovery.py +++ b/routstr/discovery.py @@ -6,7 +6,7 @@ from typing import Any import httpx import websockets -from fastapi import APIRouter +from fastapi import APIRouter, HTTPException from .core.logging import get_logger from .core.settings import settings @@ -389,6 +389,9 @@ async def get_providers( Return cached providers. If include_json, return provider+health; otherwise provider only. Optional filter by pubkey. """ + if settings.providers_refresh_interval_seconds == 0: + raise HTTPException(status_code=404, detail="Provider discovery is disabled") + cache = await get_cache() if not cache: await refresh_providers_cache(pubkey=pubkey)