疑惑
下面聊的是 gout,gout 是 go 里面第一个流式 http client。下面是 feaute 列表,数据编解码这块基本做到极致,引入流式概念,既可以 core 很小巧,组合起来也很强大(benchmark 是第一个 filter 函数)。为啥关注度不高?还有哪些需要完善的地方?
feature
- 支持 GET/PUT/DELETE/PATH/HEAD/OPTIONS
- 支持设置请求 http header(可传 struct,map,array,slice 等类型)
- 支持设置 URL query(可传 struct,map,array,slice,string 等类型)
- 支持设置 json,xml,yaml 编码到请求 body 里面(SetJSON/SetXML/SetYAML)
- 支持设置 form-data(可传 struct,map,array,slice 等类型)
- 支持设置 x-www-form-urlencoded(可传 struct,map,array,slice 等类型)
支持 io.Reader,uint/uint8/uint16...int/int8...string...[]byte...float32,float64 至请求 body 里面
- 支持解析响应 body 里面的 json,xml,yaml 至结构体里(BindJSON/BindXML/BindYAML)
- 支持解析响应 body 的内容至 io.Writer, uint/uint8...int/int8...string...[]byte...float32,float64
- 支持解析响应 header 至结构体里
- 支持接口性能 benchmark,可控制压测一定次数还是时间,可控制压测频率
- 等等更多
项目地址
https://github.com/guonaihong/gout
演示