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