प्रलेखन states कि स्प्रे chunked प्रतिक्रियाओं को संभालने में सक्षम है, लेकिन मैं किसी भी उदाहरण के साथ शुरू करने के लिए नहीं मिल रहा है के साथ निपटने।chunked प्रतिक्रिया स्प्रे उदाहरण
object Main extends App {
implicit val system = ActorSystem()
import system.dispatcher
val log = Logging(system, getClass)
val ioBridge = IOExtension(system).ioBridge()
val httpClient = system.actorOf(Props(new HttpClient(ioBridge)))
val conduit = system.actorOf(
props = Props(new HttpConduit(httpClient, "localhost", 3000)),
name = "http-conduit"
)
val pipeline = HttpConduit.sendReceive(conduit)
val response = pipeline(
HttpRequest(
method = GET,
uri = "/output.cgi.xml"
)
)
response onComplete {
case Success(a) =>
log.info("Success: " + a)
system.shutdown()
case Failure(error) =>
log.error(error, "Failure")
system.shutdown()
}
}
मैं response-chunk-aggregation-limit = 0
निर्धारित किया है, कुछ भी नहीं अभी भी होता है: मेरे अनुभवहीन कार्यान्वयन है।
तुम मुझे उदाहरण के साथ प्रदान कर सकते हैं के पढ़ने प्रतिक्रिया chunked?
अद्यतन
मैं निम्नलिखित के रूप में मेरे कोड फिर से लिख दिया:
object Main extends App {
implicit val system = ActorSystem()
import system.dispatcher
val log = Logging(system, getClass)
val ioBridge = IOExtension(system).ioBridge()
val httpClient = system.actorOf(Props(new HttpClient(ioBridge)))
actor(new Act {
httpClient ! Connect(new InetSocketAddress("localhost", 3000))
become {
case Connected(_) =>
log.info("connected")
sender ! HttpRequest(GET, "/output.cgi.xml")
case Closed(handle, reason) =>
log.info("closed: " + reason)
system.shutdown()
case ChunkedResponseStart(res) =>
log.info("start: " + res)
case MessageChunk(body, ext) =>
log.info("chunk: " + body)
case ChunkedMessageEnd(ext, trailer) =>
log.info("end: " + ext)
case m =>
log.info("received unknown message " + m)
system.shutdown()
}
})
}
और अब मैं closed: ProtocolError(Aggregated response entity greater than configured limit of 1048576 bytes)
प्राप्त कर रहा हूँ बस के बाद कनेक्शन स्थापित हो।
मेरे application.conf
spray.can {
client {
response-chunk-aggregation-limit = 0
}
}
डब्ल्यूडीवाईएम "कुछ भी नहीं होता" के साथ? क्या आप कह रहे हैं कि आप कभी भी प्रश्न का नतीजा नहीं लेते? – jrudolph
स्प्रे का कौन सा संस्करण आप उपयोग करते हैं? – jrudolph
मैं 1.1-एम 7 का उपयोग कर रहा हूं। मेरा मतलब है कि मुझे नहीं पता कि एक चुस्त तरीके से प्रतिक्रिया कैसे संभालें। वर्तमान में 'पर पूर्ण' को समेकित प्रतिक्रिया प्राप्त होती है। – lambdas