Hi,
Not much code I have, basically I took a sample for akka-http proxy:
https://gist.github.com/kovacshuni/afb7d53f40f501d0ab82
trait BrowseServerRoutes3 {
implicit val system = ActorSystem("Browse")
implicit val materializer = ActorMaterializer()
implicit val ec = system.dispatcher
val proxy = Route { context =>
val request = context.request
println("Processing " + request)
val flow = Http(system).outgoingConnection("10.66.0.4", 80)
Source.single(context.request)
.map {
_.withHeaders(HttpUtils.completeHeaderList(request))
.withUri(request.uri.path.toString())
}
.via(flow)
.runWith(Sink.head)
.flatMap(f => {
context.complete(f)
})
}
}
object BrowseServer extends App with BrowseServerRoutes3 {
val binding = Http(system).bindAndHandle(handler = proxy, interface =
"0.0.0.0", port = 8080)
println(s"Server online.")
}
"Download" should "return OK" in {
Get("/test/huge_MP3WRAP.mp3") ~> proxy ~> check {
response.status shouldEqual StatusCodes.OK
}
}
The first problem I have with this code is that I have a 2GB file at the
destination and I get the following exception:
EntityStreamSizeException: actual entity size (Some(2272610895)) exceeded
content length limit (8388608 bytes)! You can configure this by setting
`akka.http.[server|client].parsing.max-content-length` or calling
`HttpEntity.withSizeLimit` before materializing the dataBytes stream.
I see that the limit could be rised but this seems like akka wants to load
the entire data into memory. Actually I don't have a concrete value to put
there.
--
>>>>>>>>>> Read the docs: http://akka.io/docs/
>>>>>>>>>> Check the FAQ:
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
---
You received this message because you are subscribed to the Google Groups "Akka
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.