From c29a96f244b37692c22584ccf4fed7077b8eebf4 Mon Sep 17 00:00:00 2001 From: Eliot Berriot Date: Wed, 18 Apr 2018 00:08:31 +0200 Subject: [PATCH] Fail graciously when AP representation includes a null_value for mediaType --- api/funkwhale_api/federation/serializers.py | 18 +----------------- changes/changelog.d/media-type.bugfix | 1 + 2 files changed, 2 insertions(+), 17 deletions(-) create mode 100644 changes/changelog.d/media-type.bugfix diff --git a/api/funkwhale_api/federation/serializers.py b/api/funkwhale_api/federation/serializers.py index 735a101b4..00bb7d45b 100644 --- a/api/funkwhale_api/federation/serializers.py +++ b/api/funkwhale_api/federation/serializers.py @@ -708,23 +708,7 @@ class AudioSerializer(serializers.Serializer): except (KeyError, TypeError): raise serializers.ValidationError('Missing mediaType') - if not media_type.startswith('audio/'): - raise serializers.ValidationError('Invalid mediaType') - - return url - - def validate_url(self, v): - try: - url = v['href'] - except (KeyError, TypeError): - raise serializers.ValidationError('Missing href') - - try: - media_type = v['mediaType'] - except (KeyError, TypeError): - raise serializers.ValidationError('Missing mediaType') - - if not media_type.startswith('audio/'): + if not media_type or not media_type.startswith('audio/'): raise serializers.ValidationError('Invalid mediaType') return v diff --git a/changes/changelog.d/media-type.bugfix b/changes/changelog.d/media-type.bugfix new file mode 100644 index 000000000..cf6abf97d --- /dev/null +++ b/changes/changelog.d/media-type.bugfix @@ -0,0 +1 @@ +Fail graciously when AP representation includes a null_value for mediaType