Support #75781
Connecteur PDF - quand un fichier d'un autre type que pdf est envoyé, le WS devrait déclencher une erreur
0%
Description
Bon, il faudra peut-être renommer le sujet du ticket. Mais l'idée est là. J'ai testé ce matin, et comme je suis joueuse, j'ai d'abord testé avec un fichier au format image plutôt que PDF.
Au lieu de déclencher une erreur (qui me permettrait de basculer dans un statut Erreur), un fichier au format json est produit.
D'un point de vue fonctionnel, on peut facilement éviter ça côté formulaire, en ne permettant que le type PDF comme fichier. C'est désormais le cas : https://demarches-aecuvillon.test.entrouvert.org/backoffice/forms/72/
Mais si jamais, comme disais Thomas : "un PDF se trouve être finalement non reconnu par l'outil utilisé par Publik (pdftk) alors l'assemblage va planter. Normalement ça n'arrive "jamais", mais bon, voilà 😄"
Alors ça vaudrait le coup que ça génère une erreur.
Le workflow : https://demarches-aecuvillon.test.entrouvert.org/backoffice/workflows/63/
La demande avec le fichier au format json plutôt que pdf : https://demarches-aecuvillon.test.entrouvert.org/backoffice/management/test-connecteur-pdf/1/
Related issues
History
Updated by Benjamin Dauvergne 3 months ago
C'est juste que ça renvoie un code HTTP 200 sur une erreur pdftk, il faut renvoyer une 5xx ou une 4xx (pas évident de trouver le souci, peut-être valider d'abord le type des fichiers sans attendre le retour de pdftk). Coté w.c.s. il pourrait être plus malin et ne pas renvoyer de "fichier joint" s'il détecte une erreur (5xx ou 5xx) ou que le content-type retourné est application/json et data['err'] != 0
, i.e. c'est un peu bancal des deux cotés.
Updated by Thomas Noël 3 months ago
Je pense que Passerelle oublie de poser l'entête x-error-code qui permettrait à wcs de détecter qu'il y a une erreur applicative.
Updated by Benjamin Dauvergne 3 months ago
Thomas Noël a écrit :
Je pense que Passerelle oublie de poser l'entête x-error-code qui permettrait à wcs de détecter qu'il y a une erreur applicative.
Un rapide git grep -i x-error-code
sur le code passerelle me dit qu'effectivement il ne fait ça nul part.
Updated by Thomas Noël 3 months ago
- Related to Development #75783: Passerelle ne renvoie pas d'entête x-error-code en cas d'erreur added