Skip to content

Commit bba704a

Browse files
committed
bug: use Accept header to return other formats
1 parent af193c7 commit bba704a

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

invenio_app_rdm/records_ui/views/records.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
from invenio_previewer.extensions import default as default_previewer
2626
from invenio_previewer.proxies import current_previewer
2727
from invenio_rdm_records.proxies import current_rdm_records
28+
from invenio_rdm_records.resources.config import record_serializers
2829
from invenio_rdm_records.records.systemfields.access.access_settings import (
2930
AccessSettings,
3031
)
@@ -146,6 +147,12 @@ def record_detail(
146147
pid_value, record, files, media_files, is_preview=False, include_deleted=False
147148
):
148149
"""Record detail page (aka landing page)."""
150+
if not request.accept_mimetypes.accept_html:
151+
accept_mimetype = request.accept_mimetypes.best_match(record_serializers.keys())
152+
if accept_mimetype:
153+
serializer = record_serializers[accept_mimetype]
154+
return serializer.serializer.serialize_object(record.to_dict())
155+
149156
files_dict = None if files is None else files.to_dict()
150157
media_files_dict = None if media_files is None else media_files.to_dict()
151158

0 commit comments

Comments
 (0)