You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sentry nous rapporte qu'en faisant une requête HEAD sur la route /api/membres/, on obtient une erreur 500 :
TypeError: 'NoneType' object is not callable
[...]
File "zds/member/api/views.py", line 115, in get
return self.list(request, *args, **kwargs)
File "rest_framework/mixins.py", line 42, in list
serializer = self.get_serializer(page, many=True)
File "rest_framework/generics.py", line 110, in get_serializer
return serializer_class(*args, **kwargs)
De ce que j'ai compris, ça vient du fait que la méthode get_serializer_class() ne renvoie rien (donc None) si la requête n'est pas GET ou POST :
Je ne sais pas comment traiter ce problème. Est-ce qu'il faut interdire toutes les requêtes HEAD ? Dans ce cas y a-t-il quelque part un paramètre qui permet de faire ça pour toute l'API ? (je ne suis même pas sûr que ce soit souhaitable...) Est-ce qu'il faut simplement traiter le cas si la requête est de type HEAD dans get_serializer_class() ? Dans ce cas quelle donnée on renvoie ?
Si on fait une requête HEAD sur la route qui donne les infos d'un membre en particulier, on n'obtient pas une 500, mais une belle 200 OK...
The text was updated successfully, but these errors were encountered:
Description du bug
Sentry nous rapporte qu'en faisant une requête
HEAD
sur la route/api/membres/
, on obtient une erreur 500 :De ce que j'ai compris, ça vient du fait que la méthode
get_serializer_class()
ne renvoie rien (doncNone
) si la requête n'est pasGET
ouPOST
:zds-site/zds/member/api/views.py
Lines 138 to 142 in 738f577
Comment reproduire ?
Comportement attendu
Pas une erreur 500.
Je ne sais pas comment traiter ce problème. Est-ce qu'il faut interdire toutes les requêtes
HEAD
? Dans ce cas y a-t-il quelque part un paramètre qui permet de faire ça pour toute l'API ? (je ne suis même pas sûr que ce soit souhaitable...) Est-ce qu'il faut simplement traiter le cas si la requête est de typeHEAD
dansget_serializer_class()
? Dans ce cas quelle donnée on renvoie ?Si on fait une requête
HEAD
sur la route qui donne les infos d'un membre en particulier, on n'obtient pas une 500, mais une belle200 OK
...The text was updated successfully, but these errors were encountered: