1 Star 0 Fork 0

h79/goutils

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
http.go 799 Bytes
一键复制 编辑 原始数据 按行查看 历史
huqiuyun 提交于 2023-07-08 16:35 . modified name
package loader
import (
commonhttp "gitee.com/h79/goutils/common/http"
"net/http"
)
type Http struct {
Loader
headFunc commonhttp.HeaderFunc
url string
da interface{}
}
func NewHttp(url string, data interface{}, headFunc commonhttp.HeaderFunc) *Loader {
hp := &Http{
Loader: CreateLoader(),
headFunc: headFunc,
url: url,
da: data,
}
return hp.WithLoadFunc(hp.load)
}
func (hp *Http) load() (interface{}, error) {
chp := commonhttp.Http{}
body, err := chp.Do("GET", hp.url, nil, func(h *http.Header) {
h.Set("Content-Type", "application/json;charset=utf-8")
if hp.headFunc != nil {
hp.headFunc(h)
}
})
if err != nil {
return nil, err
}
if err = hp.unmarshal.Unmarshal(body, hp.da); err != nil {
return nil, err
}
return hp.da, err
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/h79/goutils.git
git@gitee.com:h79/goutils.git
h79
goutils
goutils
v1.20.92

搜索帮助