Closed ggrebert closed 4 months ago
D'accord sur le principe. Quel est l'impact sur le swagger ? Comment choisir le bon endpoint si on a plusieurs endpoints disponibles ?
Axione: même questionnement que Bouygues. On a bien déjà les routes "Attachment" pour les 2 APIs anomalie-adresse et malfaçon. Qu'est-ce que change la proposition ?
je vais préparer un PR dans common qui contiendra l'évolution du swagger et une doc dès que j'ai le temps.
Retour Bytel sur la proposition :
Nous souhaitons rester pour cette version de protocole AnomalieAdresse sur l'API telle que définie (API simple) , et limiter les échanges à des tailles n'excédant pas les limites serveur.
Pour une future version du protocole AnomalieAdresse, ou dans le cadre du protocole Malfaçon nous sommes en phase pour mettre en place une API multipart sur le principe décrit. Nous avons listé quelques remarques :
Concernant les diagrammes de séquence :
Sur la méthode POST :
OK pourquoi pas pour ceux qui souhaite l'implémenter en plus. Par contre, côté Axione nous ne souhaitons pas implémenter cette méthode de upload en chunk. Il faudrait donc qu'il soit mentionné dans le swagger que cette méthode /chunk et /finalize soit optionnelles. Nous allons limiter la taille des attachments à max 20Mo, et si un fichier n'est pas chargé complètement nous n'allons pas garder des chunks, donc je n'en vois pas vraiment l'utilité.
Retour Bytel sur la proposition. Le principe nous convient, nous avons listé quelques remarques :
Concernant les diagrammes de séquence :
- En Multipart upload (Non existing file) Il faudrait un statut PENDING positionné au retour 201 pour marquer le fait que l'upload est terminé mais qu'il est en attente des contrôles
- En Multipart upload (Existing file) : Le statut doit pouvoir revenir en PENDING dans le cas où le fichier a préalablement été chargé en Multipart upload mais pas encore contrôlé
Sur la méthode POST :
- Est il nécessaire de passer un size déclarative en entrée dans les metadata ? Elle ne devrait pas être une donnée utilisée par le traitement au niveau serveur.
- On souhaite définir un mimeType en entrée, pertinent pour déclarer le type de fichier passé sous forme de chunks
size
en entrée permet au client d'informer le serveur de la taille du fichier à envoyer. Le serveur peut ensuite vérifier si bytes envoyés dans les chunks ne dépassent pas et donc bloquer les attaques de types DOS par remplissage disque.Le multi part n'est pas utilisé dans Anomalie d'adresse V1 cela veut dire qu'en fonction de l'opérateur certains fichiers ne pouront pas être envoyé. Pour orange tous les fichiers de plus de 5Mo.
Ajouter des endpoints à l'API Attachment afin d'autoriser l'envoi de fichiers en mode "multipart".
voir https://github.com/before-interop/common/issues/17