lendo o cabeçalho de cada parte na solicitação multipart no Scala Play
-
20-12-2019 - |
Pergunta
Estou tentando extrair cabeçalhos de cada parte em uma solicitação multiparte usando o Scala play.O manipulador multipart integrado analisa dados no Filepart.Filepart não tem nenhuma opção para ler cabeçalhos individuais de cada parte.Ele só tem acesso ao cabeçalho do tipo de conteúdo.
Existe alguma API pronta para usar para isso?OU existe uma maneira simples de lidar com isso escrevendo um novo BodyParser personalizado.
Solução
Existe uma forma sobrecarregada do multiPartFormHandler
método que leva um PartHandler
:
type PartHandler[A] = PartialFunction[Map[String, String], Iteratee[Array[Byte], A]]
O Map[String, String]
contém os cabeçalhos.Isso evita que você tenha que escrever um analisador de corpo totalmente novo, você só precisa escrever esta função que pega os cabeçalhos e produz um Iteratee
para consumir os dados correspondentes.