refactored HTTP header handling
This commit is contained in:
parent
b68c93e092
commit
64787c7cb0
20
request.go
20
request.go
@ -121,7 +121,7 @@ func Method(method string) RequestModifier {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func Headers(keyValuePairs ...string) RequestModifier {
|
func AddHeaders(keyValuePairs ...string) RequestModifier {
|
||||||
if len(keyValuePairs)%2 != 0 {
|
if len(keyValuePairs)%2 != 0 {
|
||||||
panic("keyValuePairs must have an even length")
|
panic("keyValuePairs must have an even length")
|
||||||
}
|
}
|
||||||
@ -150,7 +150,14 @@ func RemoveAllHeaders() RequestModifier {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func HeadersMap(headers map[string]string) RequestModifier {
|
func Headers(keyValuePairs ...string) RequestModifier {
|
||||||
|
return chainMods(
|
||||||
|
RemoveAllHeaders(),
|
||||||
|
AddHeaders(keyValuePairs...),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
func AddHeadersMap(headers map[string]string) RequestModifier {
|
||||||
return func(r *RequestBuilder) *RequestBuilder {
|
return func(r *RequestBuilder) *RequestBuilder {
|
||||||
for key, value := range headers {
|
for key, value := range headers {
|
||||||
r.Header.Add(key, value)
|
r.Header.Add(key, value)
|
||||||
@ -159,10 +166,17 @@ func HeadersMap(headers map[string]string) RequestModifier {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func HeadersMap(headers map[string]string) RequestModifier {
|
||||||
|
return chainMods(
|
||||||
|
RemoveAllHeaders(),
|
||||||
|
AddHeadersMap(headers),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
func Auth(auth AuthProvider) RequestModifier {
|
func Auth(auth AuthProvider) RequestModifier {
|
||||||
return chainMods(
|
return chainMods(
|
||||||
RemoveHeaders("Authorization"),
|
RemoveHeaders("Authorization"),
|
||||||
Headers("Authorization", auth()),
|
AddHeaders("Authorization", auth()),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user