mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-06-22 02:18:26 +00:00
Use temporary files when receiving large data
This commit is contained in:
@ -20,7 +20,6 @@ import docspell.restserver.http4s.ResponseGenerator
|
||||
import org.http4s._
|
||||
import org.http4s.circe.CirceEntityEncoder._
|
||||
import org.http4s.dsl.Http4sDsl
|
||||
import org.http4s.multipart.Multipart
|
||||
import org.log4s._
|
||||
|
||||
object UploadRoutes {
|
||||
@ -80,8 +79,16 @@ object UploadRoutes {
|
||||
): F[Response[F]] = {
|
||||
import dsl._
|
||||
|
||||
val decodeMultipart =
|
||||
EntityDecoder
|
||||
.mixedMultipartResource(
|
||||
maxSizeBeforeWrite = 10 * 1024 * 1024
|
||||
)
|
||||
.evalMap(_.decode(req, strict = false).value)
|
||||
.rethrow
|
||||
|
||||
decodeMultipart.use { multipart =>
|
||||
for {
|
||||
multipart <- req.as[Multipart[F]]
|
||||
updata <- readMultipart(
|
||||
multipart,
|
||||
"webapp",
|
||||
@ -94,3 +101,4 @@ object UploadRoutes {
|
||||
} yield res
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user