Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
767b660a22 | |||
6142a1100c | |||
9babe85048 | |||
b59185d56c |
25
request.go
25
request.go
@ -92,6 +92,17 @@ func Query(keyValuePairs ...string) RequestModifier {
|
||||
}
|
||||
}
|
||||
|
||||
func RemoveQuery(keys ...string) RequestModifier {
|
||||
return func(r *RequestBuilder) *RequestBuilder {
|
||||
q := r.URL.Query()
|
||||
for _, key := range keys {
|
||||
q.Del(key)
|
||||
}
|
||||
r.URL.RawQuery = q.Encode()
|
||||
return r
|
||||
}
|
||||
}
|
||||
|
||||
func QueryMap(query map[string]string) RequestModifier {
|
||||
return func(r *RequestBuilder) *RequestBuilder {
|
||||
q := r.URL.Query()
|
||||
@ -123,6 +134,15 @@ func Headers(keyValuePairs ...string) RequestModifier {
|
||||
}
|
||||
}
|
||||
|
||||
func RemoveHeaders(headers ...string) RequestModifier {
|
||||
return func(r *RequestBuilder) *RequestBuilder {
|
||||
for _, header := range headers {
|
||||
r.Header.Del(header)
|
||||
}
|
||||
return r
|
||||
}
|
||||
}
|
||||
|
||||
func HeadersMap(headers map[string]string) RequestModifier {
|
||||
return func(r *RequestBuilder) *RequestBuilder {
|
||||
for key, value := range headers {
|
||||
@ -133,7 +153,10 @@ func HeadersMap(headers map[string]string) RequestModifier {
|
||||
}
|
||||
|
||||
func Auth(auth AuthProvider) RequestModifier {
|
||||
return Headers("Authentication", auth())
|
||||
return chainMods(
|
||||
RemoveHeaders("Authorization"),
|
||||
Headers("Authorization", auth()),
|
||||
)
|
||||
}
|
||||
|
||||
func Basic(username, password string) AuthProvider {
|
||||
|
Reference in New Issue
Block a user