Files
core/lib/doc/dever-http-stream.md
2026-11-03 03:32:07 +00:00

43 lines
1.2 KiB
Markdown

# 流式请求
通过连接池按需上传或下载正文。
## dever.http.StreamRequest
流式上传总量不受 body_bytes 限制;每块受 chunk_bytes 限制,取块受 read_ms 限制。
字段:
- `method`:请求方法
- `target`:路径及查询
- `headers`:不含协议引擎拥有的长度或分块头
- `body`:按背压取块的正文
## dever.http.StreamResponse
响应头到达即返回;正文按需取块,EOF 无事件,终止错误最多交付一次。
字段:
- `status`:响应状态
- `headers`:保留重复头
- `body`:消费或关闭前占用请求名额
## dever.http.StreamResponseResult
显式捕获响应头之前的配置、排队、传输或协议失败。
分支:
- `Read(response: StreamResponse)`:响应头与正文源
- `error Failed(message: Text)`:打开失败
## dever.http.open
发送普通 Request,返回流式响应。排队到响应头共用 timeout_ms,随后逐次读取用 read_ms。
## dever.http.openStream
按需发送异步正文;取消消费或提前关闭时,HTTP/1 关闭连接,HTTP/2 仅取消当前流。
## dever.http.readStreamResponse
把打开失败沿原选择类型传播;正文中的失败由消费函数处理。