add mime_type header to /media endpoint
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
d411e6790d
commit
0cdbc3e4a2
2 changed files with 6 additions and 1 deletions
|
@ -11,7 +11,10 @@ def media_urls(request, id, format=None):
|
||||||
try:
|
try:
|
||||||
file = File.objects.get(file=id)
|
file = File.objects.get(file=id)
|
||||||
return Response(status=status.HTTP_200_OK,
|
return Response(status=status.HTTP_200_OK,
|
||||||
headers={'X-Accel-Redirect': f'/redirect_media/{id}'}) # TODO Expires and Cache-Control
|
content_type=file.mime_type,
|
||||||
|
headers={
|
||||||
|
'X-Accel-Redirect': f'/redirect_media/{id}'
|
||||||
|
}) # TODO Expires and Cache-Control
|
||||||
|
|
||||||
except File.DoesNotExist:
|
except File.DoesNotExist:
|
||||||
return Response(status=status.HTTP_404_NOT_FOUND)
|
return Response(status=status.HTTP_404_NOT_FOUND)
|
||||||
|
|
|
@ -118,12 +118,14 @@ class MediaUrlTestCase(FilesTestMixin, UserTestMixin, ToolshedTestCase):
|
||||||
self.assertEqual(reply.status_code, 200)
|
self.assertEqual(reply.status_code, 200)
|
||||||
self.assertEqual(reply.headers['X-Accel-Redirect'],
|
self.assertEqual(reply.headers['X-Accel-Redirect'],
|
||||||
f"/redirect_media/{self.f['hash1'][:2]}/{self.f['hash1'][2:4]}/{self.f['hash1'][4:6]}/{self.f['hash1'][6:]}")
|
f"/redirect_media/{self.f['hash1'][:2]}/{self.f['hash1'][2:4]}/{self.f['hash1'][4:6]}/{self.f['hash1'][6:]}")
|
||||||
|
self.assertEqual(reply.content_type, self.f['test_file1'].mime_type)
|
||||||
reply = client.get(
|
reply = client.get(
|
||||||
f"/media/{self.f['hash2'][:2]}/{self.f['hash2'][2:4]}/{self.f['hash2'][4:6]}/{self.f['hash2'][6:]}",
|
f"/media/{self.f['hash2'][:2]}/{self.f['hash2'][2:4]}/{self.f['hash2'][4:6]}/{self.f['hash2'][6:]}",
|
||||||
self.f['local_user1'])
|
self.f['local_user1'])
|
||||||
self.assertEqual(reply.status_code, 200)
|
self.assertEqual(reply.status_code, 200)
|
||||||
self.assertEqual(reply.headers['X-Accel-Redirect'],
|
self.assertEqual(reply.headers['X-Accel-Redirect'],
|
||||||
f"/redirect_media/{self.f['hash2'][:2]}/{self.f['hash2'][2:4]}/{self.f['hash2'][4:6]}/{self.f['hash2'][6:]}")
|
f"/redirect_media/{self.f['hash2'][:2]}/{self.f['hash2'][2:4]}/{self.f['hash2'][4:6]}/{self.f['hash2'][6:]}")
|
||||||
|
self.assertEqual(reply.content_type, self.f['test_file2'].mime_type)
|
||||||
|
|
||||||
def test_file_url_fail(self):
|
def test_file_url_fail(self):
|
||||||
reply = client.get('/media/{}/'.format('nonexistent'), self.f['local_user1'])
|
reply = client.get('/media/{}/'.format('nonexistent'), self.f['local_user1'])
|
||||||
|
|
Loading…
Reference in a new issue