Compare commits
1 Commits
20d3ff8425
...
9ab4b7b3fe
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9ab4b7b3fe |
@@ -59,6 +59,15 @@ def _internal_url(app_name: str) -> str:
|
|||||||
# Public API
|
# Public API
|
||||||
# ------------------------------------------------------------------
|
# ------------------------------------------------------------------
|
||||||
|
|
||||||
|
def _is_fragment_request() -> bool:
|
||||||
|
"""True when the current request is itself a fragment fetch."""
|
||||||
|
try:
|
||||||
|
from quart import request as _req
|
||||||
|
return bool(_req.headers.get(FRAGMENT_HEADER))
|
||||||
|
except Exception:
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
async def fetch_fragment(
|
async def fetch_fragment(
|
||||||
app_name: str,
|
app_name: str,
|
||||||
fragment_type: str,
|
fragment_type: str,
|
||||||
@@ -72,7 +81,13 @@ async def fetch_fragment(
|
|||||||
Returns the raw HTML string. When *required* is True (default),
|
Returns the raw HTML string. When *required* is True (default),
|
||||||
raises ``FragmentError`` on network errors or non-200 responses.
|
raises ``FragmentError`` on network errors or non-200 responses.
|
||||||
When *required* is False, returns ``""`` on failure.
|
When *required* is False, returns ``""`` on failure.
|
||||||
|
|
||||||
|
Automatically returns ``""`` when called inside a fragment request
|
||||||
|
to prevent circular dependencies between apps.
|
||||||
"""
|
"""
|
||||||
|
if _is_fragment_request():
|
||||||
|
return ""
|
||||||
|
|
||||||
base = _internal_url(app_name)
|
base = _internal_url(app_name)
|
||||||
url = f"{base}/internal/fragments/{fragment_type}"
|
url = f"{base}/internal/fragments/{fragment_type}"
|
||||||
try:
|
try:
|
||||||
|
|||||||
Reference in New Issue
Block a user