lecture de l'en-tête de chaque partie dans une requête multipart dans Scala Play
-
20-12-2019 - |
Question
J'essaie d'extraire les en-têtes de chaque partie dans une requête multipart en utilisant Scala Play.Le gestionnaire multipart intégré analyse les données dans Filepart.Filepart n'a aucune option pour lire les en-têtes individuels de chaque partie.Il n’a accès qu’à l’en-tête du type de contenu.
Existe-t-il une API prête à l'emploi pour cela ?OU existe-t-il un moyen simple de le gérer plutôt en écrivant un nouveau BodyParser personnalisé.
La solution
Il existe une forme surchargée du multiPartFormHandler
méthode qui prend un PartHandler
:
type PartHandler[A] = PartialFunction[Map[String, String], Iteratee[Array[Byte], A]]
Le Map[String, String]
contient les en-têtes.Cela vous évite d'avoir à écrire un tout nouvel analyseur de corps, il vous suffit d'écrire cette fonction qui prend les en-têtes et produit un Iteratee
pour consommer les données correspondantes.