func (s *Session) Prepare_request(request *models.Request) (*models.PrepareRequest, error) {
var err error
params := merge_setting(request.Params, s.Params).(*url.Params)
headers := merge_setting(request.Headers, s.Headers).(*http.Header)
c := request.Cookies
if c == nil {
c, _ = cookiejar.New(nil)
}
cookies, _ := cookiejar.New(nil)
merge_cookies(request.Url, cookies, s.Cookies)
merge_cookies(request.Url, cookies, c)
auth := merge_setting(request.Auth, s.Auth).([]string)
p := models.NewPrepareRequest()
err = p.Prepare(
request.Method,
request.Url,
params,
headers,
cookies,
request.Data,
request.Files,
request.Json,
request.Body,
auth,
)
if err != nil {
return p, err
}
return p, nil
}
在代码里面合并了session的header是多余的,这会导致请求莫名多出前面的header,无论是session.request还是requests.request。这会导致freeMemory之后没有及时回收的话会掺杂乱七八糟的头部
在代码里面合并了session的header是多余的,这会导致请求莫名多出前面的header,无论是session.request还是requests.request。这会导致freeMemory之后没有及时回收的话会掺杂乱七八糟的头部