chore: 生成 tool 改为生成 client
This commit is contained in:
@@ -16,7 +16,8 @@ func Login(localAddr net.Addr, debugOutput bool) error {
|
|||||||
Form: &global.Config.Form,
|
Form: &global.Config.Form,
|
||||||
Meta: &global.Config.Meta,
|
Meta: &global.Config.Meta,
|
||||||
},
|
},
|
||||||
Client: util.HttpTools(localAddr).Client,
|
Client: util.HttpPackSelect(localAddr).Client,
|
||||||
|
Header: util.HttpPackSelect(localAddr).Header,
|
||||||
}
|
}
|
||||||
|
|
||||||
var output func(args ...interface{})
|
var output func(args ...interface{})
|
||||||
|
|||||||
47
util/http.go
47
util/http.go
@@ -3,40 +3,55 @@ package util
|
|||||||
import (
|
import (
|
||||||
"github.com/Mmx233/BitSrunLoginGo/global"
|
"github.com/Mmx233/BitSrunLoginGo/global"
|
||||||
"github.com/Mmx233/tool"
|
"github.com/Mmx233/tool"
|
||||||
|
"github.com/corpix/uarand"
|
||||||
"net"
|
"net"
|
||||||
|
"net/http"
|
||||||
)
|
)
|
||||||
|
|
||||||
var HttpTool *tool.Http
|
type Http struct {
|
||||||
|
Client *http.Client
|
||||||
|
Header http.Header
|
||||||
|
}
|
||||||
|
|
||||||
var httpTools map[net.Addr]*tool.Http
|
var HttpPack *Http
|
||||||
|
|
||||||
|
var httpTools map[net.Addr]*Http
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
if global.Config.Settings.Basic.Interfaces == "" {
|
if global.Config.Settings.Basic.Interfaces == "" {
|
||||||
HttpTool = genHttpTool(nil)
|
HttpPack = genHttpPack(nil)
|
||||||
} else {
|
} else {
|
||||||
httpTools = make(map[net.Addr]*tool.Http, 0)
|
httpTools = make(map[net.Addr]*Http, 0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func HttpTools(addr net.Addr) *tool.Http {
|
func HttpPackSelect(addr net.Addr) *Http {
|
||||||
if HttpTool != nil {
|
if HttpPack != nil {
|
||||||
return HttpTool
|
return HttpPack
|
||||||
}
|
}
|
||||||
if addrHttp, ok := httpTools[addr]; ok {
|
if addrHttp, ok := httpTools[addr]; ok {
|
||||||
return addrHttp
|
return addrHttp
|
||||||
} else {
|
} else {
|
||||||
httpTools[addr] = genHttpTool(addr)
|
addrHttp = genHttpPack(addr)
|
||||||
|
httpTools[addr] = addrHttp
|
||||||
return addrHttp
|
return addrHttp
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func genHttpTool(addr net.Addr) *tool.Http {
|
func genHttpPack(addr net.Addr) *Http {
|
||||||
return tool.NewHttpTool(tool.GenHttpClient(&tool.HttpClientOptions{
|
var header = make(http.Header, 2)
|
||||||
Transport: tool.GenHttpTransport(&tool.HttpTransportOptions{
|
header.Add("User-Agent", uarand.GetRandom())
|
||||||
Timeout: global.Timeout,
|
header.Set("X-Requested-With", "XMLHttpRequest")
|
||||||
LocalAddr: addr,
|
|
||||||
SkipSslCertVerify: global.Config.Settings.Basic.SkipCertVerify,
|
return &Http{
|
||||||
|
Client: tool.GenHttpClient(&tool.HttpClientOptions{
|
||||||
|
Transport: tool.GenHttpTransport(&tool.HttpTransportOptions{
|
||||||
|
Timeout: global.Timeout,
|
||||||
|
LocalAddr: addr,
|
||||||
|
SkipSslCertVerify: global.Config.Settings.Basic.SkipCertVerify,
|
||||||
|
}),
|
||||||
|
Timeout: global.Timeout,
|
||||||
}),
|
}),
|
||||||
Timeout: global.Timeout,
|
Header: header,
|
||||||
}))
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,10 +31,11 @@ type Conf struct {
|
|||||||
//登录参数,不可缺省
|
//登录参数,不可缺省
|
||||||
LoginInfo LoginInfo
|
LoginInfo LoginInfo
|
||||||
Client *http.Client
|
Client *http.Client
|
||||||
|
Header http.Header
|
||||||
|
|
||||||
api srun.Api
|
api srun.Api
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *Conf) initApi() {
|
func (a *Conf) initApi() {
|
||||||
a.api.Init(a.Https, a.LoginInfo.Form.Domain, a.Client)
|
a.api.Init(a.Https, a.LoginInfo.Form.Domain, a.Client, a.Header)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ type Api struct {
|
|||||||
Header http.Header
|
Header http.Header
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *Api) Init(https bool, domain string, client *http.Client) {
|
func (a *Api) Init(https bool, domain string, client *http.Client, header http.Header) {
|
||||||
if a.inited {
|
if a.inited {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user