diora-web/radio/urls.py
marwin 9228906db8
All checks were successful
Build and push Docker image / build (push) Successful in 19s
Test / test (push) Successful in 1m34s
Add a transparent stream proxy for creamfresh radio
A plain <audio src="https://user:pass@host/..."> doesn't get its
embedded Basic Auth credentials honoured consistently across
browsers (the user hit a native auth prompt on play) -- this instead
holds the credentials server-side and relays the request. Forwards
the client's own Icy-MetaData header and the upstream's icy-* response
headers unchanged, so the existing icy.py-based metadata SSE keeps
working when pointed at this URL instead of the direct one.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Drq8o4HfFmwkXz2AgvaQ4p
2026-09-04 11:29:52 +02:00

23 lines
1.4 KiB
Python

from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
path('radio/sse/', views.sse_metadata, name='sse_metadata'),
path('radio/record/', views.record_track, name='record_track'),
path('radio/affiliate/', views.affiliate_links, name='affiliate_links'),
path('radio/save/', views.save_station, name='save_station'),
path('radio/remove/<int:pk>/', views.remove_station, name='remove_station'),
path('radio/favorite/<int:pk>/', views.toggle_favorite, name='toggle_favorite'),
path('radio/history/', views.history_json, name='history_json'),
path('radio/history/<int:pk>/delete/', views.delete_history_entry, name='delete_history_entry'),
path('radio/play/start/', views.start_play, name='start_play'),
path('radio/play/stop/', views.stop_play, name='stop_play'),
path('radio/recommendations/', views.recommendations, name='recommendations'),
path('radio/import/', views.import_m3u, name='import_m3u'),
path('radio/notes/<int:pk>/', views.save_station_notes, name='save_station_notes'),
path('radio/focus/record/', views.record_focus_session, name='record_focus_session'),
path('radio/focus/stats/', views.focus_stats, name='focus_stats'),
path('radio/stream-player/', views.stream_player, name='stream_player'),
path('radio/creamfresh-stream/', views.creamfresh_stream, name='creamfresh_stream'),
]