update fix
This commit is contained in:
parent
01df404ead
commit
13dfdee51c
|
@ -38,6 +38,7 @@ type Session struct {
|
|||
auth *BasicAuth
|
||||
|
||||
Header http.Header
|
||||
Query url.Values
|
||||
}
|
||||
|
||||
const (
|
||||
|
|
27
workflow.go
27
workflow.go
|
@ -99,9 +99,9 @@ func (wf *Workflow) SetURL(srcURL string) *Workflow {
|
|||
// GetURLQuery 获取Query参数
|
||||
func (wf *Workflow) GetURLQuery() url.Values {
|
||||
if wf.ParsedURL != nil {
|
||||
return wf.ParsedURL.Query()
|
||||
vs := wf.ParsedURL.Query()
|
||||
return mergeMapList(wf.session.Query, vs)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -194,10 +194,12 @@ func (wf *Workflow) SetBodyParams(params ...interface{}) *Workflow {
|
|||
return wf
|
||||
}
|
||||
|
||||
// setHeaderRequest 设置request的头
|
||||
func setHeaderRequest(req *http.Request, wf *Workflow) {
|
||||
func mergeMapList(header1, header2 map[string][]string) map[string][]string {
|
||||
|
||||
set := make(map[string]map[string]int)
|
||||
for key, values := range wf.session.Header {
|
||||
merged := make(map[string][]string)
|
||||
|
||||
for key, values := range header1 {
|
||||
for _, v := range values {
|
||||
if vs, ok := set[key]; ok {
|
||||
vs[v] = 1
|
||||
|
@ -207,7 +209,7 @@ func setHeaderRequest(req *http.Request, wf *Workflow) {
|
|||
}
|
||||
}
|
||||
}
|
||||
for key, values := range wf.Header {
|
||||
for key, values := range header2 {
|
||||
for _, v := range values {
|
||||
if vs, ok := set[key]; ok {
|
||||
vs[v] = 1
|
||||
|
@ -220,10 +222,21 @@ func setHeaderRequest(req *http.Request, wf *Workflow) {
|
|||
|
||||
for key, mvalue := range set {
|
||||
for v := range mvalue {
|
||||
req.Header.Add(key, v)
|
||||
// merged.Add(key, v)
|
||||
if mergeValue, ok := merged[key]; ok {
|
||||
merged[key] = append(mergeValue, v)
|
||||
} else {
|
||||
merged[key] = append(mergeValue, v)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return merged
|
||||
}
|
||||
|
||||
// setHeaderRequest 设置request的头
|
||||
func setHeaderRequest(req *http.Request, wf *Workflow) {
|
||||
req.Header = mergeMapList(wf.session.Header, wf.Header)
|
||||
}
|
||||
|
||||
// setHeaderRequest 设置request的临时Cookie, 永久需要在session上设置cookie
|
||||
|
|
Loading…
Reference in New Issue
Block a user