Lettura di intestazione di ciascuna parte nella richiesta multipart nella scala Scala
-
20-12-2019 - |
Domanda
Sto cercando di estrarre le intestazioni di ciascuna parte nella richiesta Multipart utilizzando Scala Play. Il gestore multipart integrale analizza i dati in filepart.Il filepart non ha alcuna opzione per leggere le singole intestazioni di ciascuna parte.Ha solo accesso all'intestazione del tipo di contenuto.
C'è qualche API pronto all'uso per questo?O c'è un modo semplice per gestirlo piuttosto per scrivere un nuovo bodyparser personalizzato.
Soluzione
Esiste una forma sovraccaricata del metodo multiPartFormHandler
che prende un PartHandler
:
type PartHandler[A] = PartialFunction[Map[String, String], Iteratee[Array[Byte], A]]
.
Il Map[String, String]
contiene le intestazioni.Questo ti consente di averlo da dover scrivere un intero nuovo parser del corpo, devi solo scrivere questa funzione che prende le intestazioni e produce un Iteratee
per consumare i dati corrispondenti.