Update dependencies

This commit is contained in:
eleksir
2025-10-12 15:27:41 +03:00
parent 1330c512aa
commit 5ebefcddf4
491 changed files with 27549 additions and 41202 deletions

View File

@@ -6,9 +6,9 @@ import (
"fmt"
"net/http"
"net/url"
"slices"
"github.com/carlmjohnson/requests/internal/minitrue"
"github.com/carlmjohnson/requests/internal/slicex"
)
// Builder is a convenient way to build, send, and handle HTTP requests.
@@ -208,7 +208,7 @@ func (rb *Builder) Clone() *Builder {
rb2 := *rb
rb2.ub = *rb.ub.Clone()
rb2.rb = *rb.rb.Clone()
slicex.Clip(&rb2.validators)
rb2.validators = slices.Clip(rb2.validators)
return &rb2
}

View File

@@ -6,9 +6,9 @@ import (
"io"
"net/http"
"net/url"
"slices"
"github.com/carlmjohnson/requests/internal/minitrue"
"github.com/carlmjohnson/requests/internal/slicex"
)
// nopCloser is like io.NopCloser(),
@@ -57,8 +57,8 @@ func (rb *requestBuilder) Body(src BodyGetter) {
// Clone creates a new Builder suitable for independent mutation.
func (rb *requestBuilder) Clone() *requestBuilder {
rb2 := *rb
slicex.Clip(&rb2.headers)
slicex.Clip(&rb2.cookies)
rb2.headers = slices.Clip(rb2.headers)
rb2.cookies = slices.Clip(rb2.cookies)
return &rb2
}

View File

@@ -3,8 +3,7 @@ package requests
import (
"cmp"
"net/url"
"github.com/carlmjohnson/requests/internal/slicex"
"slices"
)
type multimap struct {
@@ -51,8 +50,8 @@ func (ub *urlBuilder) ParamOptional(key string, values ...string) {
func (ub *urlBuilder) Clone() *urlBuilder {
ub2 := *ub
slicex.Clip(&ub2.paths)
slicex.Clip(&ub2.params)
ub2.paths = slices.Clip(ub2.paths)
ub2.params = slices.Clip(ub2.params)
return &ub2
}

View File

@@ -1,6 +0,0 @@
package slicex
func Clip[T any](sp *[]T) {
s := *sp
*sp = s[:len(s):len(s)]
}

View File

@@ -5,8 +5,10 @@ import (
"errors"
"fmt"
"io"
"maps"
"mime"
"net/http"
"slices"
)
// DefaultValidator is the validator applied by Builder unless otherwise specified.
@@ -29,10 +31,8 @@ func (se *ResponseError) Error() string {
// CheckStatus validates the response has an acceptable status code.
func CheckStatus(acceptStatuses ...int) ResponseHandler {
return func(res *http.Response) error {
for _, code := range acceptStatuses {
if res.StatusCode == code {
return nil
}
if slices.Contains(acceptStatuses, res.StatusCode) {
return nil
}
return fmt.Errorf("%w: unexpected status: %d",
@@ -46,11 +46,7 @@ func HasStatusErr(err error, codes ...int) bool {
return false
}
if se := new(ResponseError); errors.As(err, &se) {
for _, code := range codes {
if se.StatusCode == code {
return true
}
}
return slices.Contains(codes, se.StatusCode)
}
return false
}
@@ -63,10 +59,8 @@ func CheckContentType(cts ...string) ResponseHandler {
return fmt.Errorf("%w: problem matching Content-Type",
(*ResponseError)(res))
}
for _, ct := range cts {
if mt == ct {
return nil
}
if slices.Contains(cts, mt) {
return nil
}
return fmt.Errorf("%w: unexpected Content-Type: %s",
(*ResponseError)(res), mt)
@@ -101,9 +95,7 @@ func CheckPeek(n int, f func([]byte) error) ResponseHandler {
// CopyHeaders copies the response headers to h.
func CopyHeaders(h map[string][]string) ResponseHandler {
return func(res *http.Response) error {
for k, v := range res.Header {
h[k] = v
}
maps.Copy(h, res.Header)
return nil
}