Un consommateur de mon API REST dit que je renvoie parfois une 400 Bad Request
– The request sent by the client was syntactically incorrect.
Erreur.
Les journaux de mon application (Python / Flask) ne semblent pas le capturer, pas plus que les journaux de mon serveur Web / Nginx.
Edit: Je voudrais essayer de provoquer une requête de 400 dans Flask à des fins de débogage. Comment puis-je faire ceci?
Suite aux conseils de James, j’ai ajouté quelque chose de similaire à ce qui suit:
@app.route('/badrequest400) def bad_request(): return abort(400)
Lorsque j’appelle ceci, flask renvoie le code HTML suivant, qui n’utilise pas la ligne “La requête envoyée par le client était syntaxiquement incorrecte”:
400 Bad Request Bad Request
The browser (or proxy) sent a request that this server could not understand.
(Je ne sais pas pourquoi il n’inclut pas les balises .
Il me semble qu’il existe différentes variantes du message d’erreur 400. Par exemple, si je mets un cookie à une valeur de longueur 50 000 (en utilisant Interceptor avec Postman), j’obtiendrai l’erreur suivante de Flask à la place:
Bad Request
Bad Request
Error parsing headers: 'limit request headers fields size'
Y a-t-il un moyen de faire passer Flask à travers les différentes variantes de 400 erreurs?
Pourquoi ne définissez-vous pas un itinéraire d’URL qui génère simplement une erreur HTTP / 400?
@app.route('/badrequest400) def bad_request(): return abort(400)
vous pouvez renvoyer le code d’état en tant que second paramètre du return
, voir exemple ci-dessous
@app.route('/my400') def my400(): code = 400 msg = 'my message' return msg, code