From 64787c7cb00982a43c9c64c934cc8d1601b021c0 Mon Sep 17 00:00:00 2001 From: Tordarus Date: Thu, 13 Feb 2025 16:23:51 +0100 Subject: [PATCH] refactored HTTP header handling --- request.go | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) 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()), ) }