refactored HTTP header handling

This commit is contained in:
Tordarus 2025-02-13 16:23:51 +01:00
parent b68c93e092
commit 64787c7cb0

View File

@ -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()),
) )
} }