aboutsummaryrefslogtreecommitdiff
path: root/request.go
diff options
context:
space:
mode:
authorStefan Majewsky <majewsky@gmx.net>2026-04-19 00:53:33 +0200
committerStefan Majewsky <majewsky@gmx.net>2026-04-19 01:01:52 +0200
commit587ac99d26a026c4441ce224f52105d2dbd3751b (patch)
tree83b8d130d03c958e410870e9705204fc3661eb7d /request.go
parent23429646da1d07d6a8632263a167f167d9971f35 (diff)
downloadgo-schwift-587ac99d26a026c4441ce224f52105d2dbd3751b.tar.gz
run `go fix ./...`
Diffstat (limited to 'request.go')
-rw-r--r--request.go26
1 files changed, 10 insertions, 16 deletions
diff --git a/request.go b/request.go
index ce9e8ac..52b457d 100644
--- a/request.go
+++ b/request.go
@@ -21,8 +21,10 @@ package schwift
import (
"context"
"io"
+ "maps"
"net/http"
"net/url"
+ "slices"
"strings"
)
@@ -48,16 +50,10 @@ func cloneRequestOptions(orig *RequestOptions, additional Headers) *RequestOptio
Values: make(url.Values),
}
if orig != nil {
- for k, v := range orig.Headers {
- result.Headers[k] = v
- }
- for k, v := range orig.Values {
- result.Values[k] = v
- }
- }
- for k, v := range additional {
- result.Headers[k] = v
+ maps.Copy(result.Headers, orig.Headers)
+ maps.Copy(result.Values, orig.Values)
}
+ maps.Copy(result.Headers, additional)
return &result
}
@@ -140,14 +136,12 @@ func (r Request) Do(ctx context.Context, backend Backend) (*http.Response, error
// check disabled -> return response unaltered
return resp, nil
}
- for _, code := range r.ExpectStatusCodes {
- if code == resp.StatusCode {
- var err error
- if r.DrainResponseBody || resp.StatusCode == http.StatusNoContent {
- err = drainResponseBody(resp)
- }
- return resp, err
+ if slices.Contains(r.ExpectStatusCodes, resp.StatusCode) {
+ var err error
+ if r.DrainResponseBody || resp.StatusCode == http.StatusNoContent {
+ err = drainResponseBody(resp)
}
+ return resp, err
}
// unexpected status code -> generate error