add default keepalvies false

This commit is contained in:
eson 2018-12-18 02:17:04 +08:00
parent 30876ae2bf
commit 823e5e0bcf
2 changed files with 15 additions and 14 deletions

View File

@ -36,8 +36,14 @@ func FromHTTPResponse(resp *http.Response) (*Response, error) {
content := ""
srcReader := bytes.NewReader(srcbuf)
r, err := gzip.NewReader(srcReader)
if err == nil {
if r, err := gzip.NewReader(srcReader); err == nil {
defer r.Close()
buf, err := ioutil.ReadAll(r)
if err != nil {
panic(err)
}
content = string(buf)
} else if r, err := zlib.NewReader(srcReader); err == nil {
defer r.Close()
buf, err := ioutil.ReadAll(r)
if err != nil {
@ -45,17 +51,7 @@ func FromHTTPResponse(resp *http.Response) (*Response, error) {
}
content = string(buf)
} else {
r, err := zlib.NewReader(srcReader)
if err == nil {
defer r.Close()
buf, err := ioutil.ReadAll(r)
if err != nil {
panic(err)
}
content = string(buf)
} else {
content = string(srcbuf)
}
content = string(srcbuf)
}
return &Response{DContent: content, GResponse: resp}, nil

View File

@ -154,6 +154,9 @@ const (
// CDialTimeout 一个Connect过程的Timeout
CDialTimeout // 支持time.Duration 和 int(秒为单位)
// CKeepAlives 默认不KeepAlives, 容易被一直KeepAlives 没关闭链接
CKeepAlives
// CProxy 代理链接
CProxy // http, https, socks5
@ -173,7 +176,7 @@ const (
// NewSession 创建Session
func NewSession() *Session {
client := &http.Client{}
transport := &http.Transport{DisableCompression: true}
transport := &http.Transport{DisableCompression: true, DisableKeepAlives: true}
client.Transport = transport
cjar, err := cookiejar.New(&cookiejar.Options{PublicSuffixList: publicsuffix.List})
@ -206,6 +209,8 @@ func (ses *Session) SetConfig(typeConfig TypeConfig, values interface{}) {
}
case CDialTimeout:
// 没时间实现这些小细节
case CKeepAlives:
ses.transport.DisableKeepAlives = !values.(bool)
case CCookiejar:
v := values.(bool)
if v {