2023-01-16 15:50:45 -05:00
|
|
|
from urllib.parse import urlparse
|
|
|
|
|
2023-04-14 10:33:53 -04:00
|
|
|
__all__ = (
|
|
|
|
'is_embedded',
|
|
|
|
'is_htmx',
|
|
|
|
)
|
|
|
|
|
2023-01-16 15:50:45 -05:00
|
|
|
|
2021-12-13 16:51:59 -05:00
|
|
|
def is_htmx(request):
|
|
|
|
"""
|
|
|
|
Returns True if the request was made by HTMX; False otherwise.
|
|
|
|
"""
|
|
|
|
return 'Hx-Request' in request.headers
|
2023-01-16 15:50:45 -05:00
|
|
|
|
|
|
|
|
|
|
|
def is_embedded(request):
|
|
|
|
"""
|
|
|
|
Returns True if the request indicates that it originates from a URL different from
|
|
|
|
the path being requested.
|
|
|
|
"""
|
|
|
|
hx_current_url = request.headers.get('HX-Current-URL', None)
|
|
|
|
if not hx_current_url:
|
|
|
|
return False
|
|
|
|
return request.path != urlparse(hx_current_url).path
|