diff --git a/request.go b/request.go index 5aadcc3..cfae786 100644 --- a/request.go +++ b/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()), ) }