написал запрос Захара
This commit is contained in:
parent
a763e80b25
commit
680444fedd
|
|
@ -7,7 +7,7 @@ from rest_framework import status
|
||||||
from rest_framework.decorators import action
|
from rest_framework.decorators import action
|
||||||
from rest_framework.permissions import AllowAny
|
from rest_framework.permissions import AllowAny
|
||||||
|
|
||||||
class FetchAndServeFile(ViewSet):
|
""" class FetchAndServeFile(ViewSet):
|
||||||
|
|
||||||
def list(self, request):
|
def list(self, request):
|
||||||
file_url = f"http://82.97.242.49:10084/api/station/it-radio/file/fc6377b2dae75d29358783bc/play"
|
file_url = f"http://82.97.242.49:10084/api/station/it-radio/file/fc6377b2dae75d29358783bc/play"
|
||||||
|
|
@ -29,7 +29,7 @@ class FetchAndServeFile(ViewSet):
|
||||||
except requests.RequestException as e:
|
except requests.RequestException as e:
|
||||||
return Response({'error': str(e)}, status=status.HTTP_400_BAD_REQUEST)
|
return Response({'error': str(e)}, status=status.HTTP_400_BAD_REQUEST)
|
||||||
|
|
||||||
""" def get(self, request, station, song_id, *args, **kwargs):
|
def get(self, request, station, song_id, *args, **kwargs):
|
||||||
file_url = f"http://82.97.242.49:10084/api/station/{station}/file/{song_id}/play"
|
file_url = f"http://82.97.242.49:10084/api/station/{station}/file/{song_id}/play"
|
||||||
api_key = "49226d3488aac3f5:18d88659c6c1c5e131a0ce0a94d55235"
|
api_key = "49226d3488aac3f5:18d88659c6c1c5e131a0ce0a94d55235"
|
||||||
|
|
||||||
|
|
@ -47,6 +47,27 @@ class FetchAndServeFile(ViewSet):
|
||||||
|
|
||||||
return file_response
|
return file_response
|
||||||
except requests.RequestException as e:
|
except requests.RequestException as e:
|
||||||
return Response({'error': str(e)}, status=status.HTTP_400_BAD_REQUEST) """
|
return Response({'error': str(e)}, status=status.HTTP_400_BAD_REQUEST) """
|
||||||
|
|
||||||
|
class FetchAndServeFile(APIView):
|
||||||
|
permission_classes = [AllowAny]
|
||||||
|
|
||||||
|
def get(self, request, station, song_id, *args, **kwargs):
|
||||||
|
file_url = f"http://82.97.242.49:10084/api/station/{station}/file/{song_id}/play"
|
||||||
|
api_key = "49226d3488aac3f5:18d88659c6c1c5e131a0ce0a94d55235"
|
||||||
|
|
||||||
|
headers = {
|
||||||
|
"Authorization": f"Bearer {api_key}"
|
||||||
|
}
|
||||||
|
|
||||||
|
try:
|
||||||
|
response = requests.get(file_url, headers=headers)
|
||||||
|
response.raise_for_status()
|
||||||
|
|
||||||
|
# Create a response with the appropriate content type and headers
|
||||||
|
file_response = HttpResponse(response.content, content_type='audio/mpeg')
|
||||||
|
file_response['Content-Disposition'] = 'attachment; filename="output.mp3"'
|
||||||
|
|
||||||
|
return file_response
|
||||||
|
except requests.RequestException as e:
|
||||||
|
return Response({'error': str(e)}, status=status.HTTP_400_BAD_REQUEST)
|
||||||
|
|
@ -21,13 +21,12 @@ from api.views import FetchAndServeFile
|
||||||
router = routers.DefaultRouter()
|
router = routers.DefaultRouter()
|
||||||
router.register(r'news', newsViews.NewsViewSet)
|
router.register(r'news', newsViews.NewsViewSet)
|
||||||
#router.register(r'profiles', ProfileViewSet, basename='profiles')
|
#router.register(r'profiles', ProfileViewSet, basename='profiles')
|
||||||
router.register(r'single_play', FetchAndServeFile, basename='single_play')
|
|
||||||
router.register(r'teams', TeamViewSet, basename='teams')
|
router.register(r'teams', TeamViewSet, basename='teams')
|
||||||
router.register(r'rubriks', RubricViewSet, basename='rubriks')
|
router.register(r'rubriks', RubricViewSet, basename='rubriks')
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('api/admin/', admin.site.urls),
|
path('api/admin/', admin.site.urls),
|
||||||
|
path('api/fetch-file/<str:station>/<str:song_id>/', FetchAndServeFile.as_view(), name='fetch-file'),
|
||||||
path('api/token/', TokenObtainPairView.as_view(), name='token_obtain_pair'),
|
path('api/token/', TokenObtainPairView.as_view(), name='token_obtain_pair'),
|
||||||
path('api/token/refresh/', TokenRefreshView.as_view(), name='token_refresh'),
|
path('api/token/refresh/', TokenRefreshView.as_view(), name='token_refresh'),
|
||||||
path('api/token/verify/', TokenVerifyView.as_view(), name='token_verify'),
|
path('api/token/verify/', TokenVerifyView.as_view(), name='token_verify'),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue