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 {
|
||||
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 {
|
||||
for key, value := range headers {
|
||||
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 {
|
||||
return chainMods(
|
||||
RemoveHeaders("Authorization"),
|
||||
Headers("Authorization", auth()),
|
||||
AddHeaders("Authorization", auth()),
|
||||
)
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user