【发布时间】:2017-08-21 09:16:25
【问题描述】:
我对使用 Scalatra 处理分块请求很感兴趣。 Scalatra 是否支持访问分块 http 请求的单个块?还是我只需要等待分块请求结束,然后再处理整个请求?
【问题讨论】:
我对使用 Scalatra 处理分块请求很感兴趣。 Scalatra 是否支持访问分块 http 请求的单个块?还是我只需要等待分块请求结束,然后再处理整个请求?
【问题讨论】:
Scalalatra 只是 Java Servlet 的包装器。它允许您访问richRequest.inputStream directly。其他一切都与 Java 相同。
您可能需要从输入流中解析chunked encoding。
另见:Chunked http decoding in java?
您可以在此处找到InputStream 的包装器:http://www.java2s.com/Code/Java/File-Input-Output/AnInputStreamthatimplementsHTTP11chunking.htm
【讨论】:
inputStream.available,它返回一个估计可以从这个输入流中读取(或跳过)而不阻塞的字节数。对于带有正文的非分块请求,它可以返回 0 吗?一些罕见的情况下,已经从套接字读取了标头但主体还没有