Skip to content

Commit

Permalink
Merge pull request #636 from go-resty/updates-for-v2.8.0
Browse files Browse the repository at this point in the history
  • Loading branch information
jeevatkm committed Mar 21, 2023
2 parents ad31b9f + f49b62e commit f55f417
Show file tree
Hide file tree
Showing 21 changed files with 57 additions and 31 deletions.
2 changes: 1 addition & 1 deletion LICENSE
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2015-2021 Jeevanandam M., https://myjeeva.com <jeeva@myjeeva.com>
Copyright (c) 2015-2023 Jeevanandam M., https://myjeeva.com <jeeva@myjeeva.com>

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
2 changes: 2 additions & 0 deletions README.md
Expand Up @@ -86,6 +86,8 @@

#### Supported Go Versions

Recommended to use `go1.16` and above.

Initially Resty started supporting `go modules` since `v1.10.0` release.

Starting Resty v2 and higher versions, it fully embraces [go modules](https://github.com/golang/go/wiki/Modules) package release. It requires a Go version capable of understanding `/vN` suffixed imports:
Expand Down
2 changes: 1 addition & 1 deletion client.go
@@ -1,4 +1,4 @@
// Copyright (c) 2015-2021 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// Copyright (c) 2015-2023 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// resty source code and usage is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
14 changes: 8 additions & 6 deletions client_test.go
@@ -1,4 +1,4 @@
// Copyright (c) 2015-2021 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// Copyright (c) 2015-2023 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// resty source code and usage is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down Expand Up @@ -181,13 +181,13 @@ func TestClientRedirectPolicy(t *testing.T) {
c := dc().SetRedirectPolicy(FlexibleRedirectPolicy(20))
_, err := c.R().Get(ts.URL + "/redirect-1")

assertEqual(t, true, ("Get /redirect-21: stopped after 20 redirects" == err.Error() ||
"Get \"/redirect-21\": stopped after 20 redirects" == err.Error()))
assertEqual(t, true, (err.Error() == "Get /redirect-21: stopped after 20 redirects" ||
err.Error() == "Get \"/redirect-21\": stopped after 20 redirects"))

c.SetRedirectPolicy(NoRedirectPolicy())
_, err = c.R().Get(ts.URL + "/redirect-1")
assertEqual(t, true, ("Get /redirect-2: auto redirect is disabled" == err.Error() ||
"Get \"/redirect-2\": auto redirect is disabled" == err.Error()))
assertEqual(t, true, (err.Error() == "Get /redirect-2: auto redirect is disabled" ||
err.Error() == "Get \"/redirect-2\": auto redirect is disabled"))
}

func TestClientTimeout(t *testing.T) {
Expand Down Expand Up @@ -334,7 +334,9 @@ func TestClientSetHeaderVerbatim(t *testing.T) {
SetHeaderVerbatim("header-lowercase", "value_lowercase").
SetHeader("header-lowercase", "value_standard")

assertEqual(t, "value_lowercase", strings.Join(c.Header["header-lowercase"], "")) //nolint
//lint:ignore SA1008 valid one, so ignore this!
unConventionHdrValue := strings.Join(c.Header["header-lowercase"], "")
assertEqual(t, "value_lowercase", unConventionHdrValue)
assertEqual(t, "value_standard", c.Header.Get("Header-Lowercase"))
}

Expand Down
2 changes: 1 addition & 1 deletion context_test.go
@@ -1,4 +1,4 @@
// Copyright (c) 2015-2021 Jeevanandam M (jeeva@myjeeva.com)
// Copyright (c) 2015-2023 Jeevanandam M (jeeva@myjeeva.com)
// 2016 Andrew Grigorev (https://github.com/ei-grad)
// All rights reserved.
// resty source code and usage is governed by a MIT style
Expand Down
6 changes: 6 additions & 0 deletions digest.go
@@ -1,3 +1,9 @@
// Copyright (c) 2015-2023 Jeevanandam M (jeeva@myjeeva.com)
// 2023 Segev Dagan (https://github.com/segevda)
// All rights reserved.
// resty source code and usage is governed by a MIT style
// license that can be found in the LICENSE file.

package resty

import (
Expand Down
2 changes: 1 addition & 1 deletion example_test.go
@@ -1,4 +1,4 @@
// Copyright (c) 2015-2021 Jeevanandam M. (jeeva@myjeeva.com), All rights reserved.
// Copyright (c) 2015-2023 Jeevanandam M. (jeeva@myjeeva.com), All rights reserved.
// resty source code and usage is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion middleware.go
@@ -1,4 +1,4 @@
// Copyright (c) 2015-2021 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// Copyright (c) 2015-2023 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// resty source code and usage is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion redirect.go
@@ -1,4 +1,4 @@
// Copyright (c) 2015-2021 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// Copyright (c) 2015-2023 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// resty source code and usage is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
19 changes: 17 additions & 2 deletions request.go
@@ -1,4 +1,4 @@
// Copyright (c) 2015-2021 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// Copyright (c) 2015-2023 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// resty source code and usage is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down Expand Up @@ -930,7 +930,7 @@ func (r *Request) fmtBodyString(sl int64) (body string) {
contentType := r.Header.Get(hdrContentTypeKey)
kind := kindOf(r.Body)
if canJSONMarshal(contentType, kind) {
prtBodyBytes, err = json.MarshalIndent(&r.Body, "", " ")
prtBodyBytes, err = noescapeJSONMarshalIndent(&r.Body)
} else if IsXMLType(contentType) && (kind == reflect.Struct) {
prtBodyBytes, err = xml.MarshalIndent(&r.Body, "", " ")
} else if b, ok := r.Body.(string); ok {
Expand Down Expand Up @@ -992,3 +992,18 @@ var noescapeJSONMarshal = func(v interface{}) (*bytes.Buffer, error) {

return buf, nil
}

var noescapeJSONMarshalIndent = func(v interface{}) ([]byte, error) {
buf := acquireBuffer()
defer releaseBuffer(buf)

encoder := json.NewEncoder(buf)
encoder.SetEscapeHTML(false)
encoder.SetIndent("", " ")

if err := encoder.Encode(v); err != nil {
return nil, err
}

return buf.Bytes(), nil
}
9 changes: 5 additions & 4 deletions request_test.go
@@ -1,4 +1,4 @@
// Copyright (c) 2015-2021 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// Copyright (c) 2015-2023 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// resty source code and usage is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down Expand Up @@ -1122,8 +1122,8 @@ func TestHTTPAutoRedirectUpTo10(t *testing.T) {

_, err := dc().R().Get(ts.URL + "/redirect-1")

assertEqual(t, true, ("Get /redirect-11: stopped after 10 redirects" == err.Error() ||
"Get \"/redirect-11\": stopped after 10 redirects" == err.Error()))
assertEqual(t, true, (err.Error() == "Get /redirect-11: stopped after 10 redirects" ||
err.Error() == "Get \"/redirect-11\": stopped after 10 redirects"))
}

func TestHostCheckRedirectPolicy(t *testing.T) {
Expand Down Expand Up @@ -1464,7 +1464,8 @@ func TestSetHeaderVerbatim(t *testing.T) {
SetHeaderVerbatim("header-lowercase", "value_lowercase").
SetHeader("header-lowercase", "value_standard")

assertEqual(t, "value_lowercase", strings.Join(r.Header["header-lowercase"], "")) //nolint
//lint:ignore SA1008 valid one ignore this!
assertEqual(t, "value_lowercase", strings.Join(r.Header["header-lowercase"], ""))
assertEqual(t, "value_standard", r.Header.Get("Header-Lowercase"))
}

Expand Down
2 changes: 1 addition & 1 deletion response.go
@@ -1,4 +1,4 @@
// Copyright (c) 2015-2021 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// Copyright (c) 2015-2023 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// resty source code and usage is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion resty.go
@@ -1,4 +1,4 @@
// Copyright (c) 2015-2021 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// Copyright (c) 2015-2023 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// resty source code and usage is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion resty_test.go
@@ -1,4 +1,4 @@
// Copyright (c) 2015-2021 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// Copyright (c) 2015-2023 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// resty source code and usage is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion retry.go
@@ -1,4 +1,4 @@
// Copyright (c) 2015-2021 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// Copyright (c) 2015-2023 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// resty source code and usage is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
8 changes: 4 additions & 4 deletions retry_test.go
@@ -1,4 +1,4 @@
// Copyright (c) 2015-2021 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// Copyright (c) 2015-2023 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// resty source code and usage is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down Expand Up @@ -751,7 +751,7 @@ func filler(*Response, error) bool {
return false
}

var seekFailure = fmt.Errorf("failing seek test")
var errSeekFailure = fmt.Errorf("failing seek test")

type failingSeeker struct {
reader *bytes.Reader
Expand All @@ -763,7 +763,7 @@ func (f failingSeeker) Read(b []byte) (n int, err error) {

func (f failingSeeker) Seek(offset int64, whence int) (int64, error) {
if offset == 0 && whence == io.SeekStart {
return 0, seekFailure
return 0, errSeekFailure
}

return f.reader.Seek(offset, whence)
Expand All @@ -788,7 +788,7 @@ func TestResetMultipartReaderSeekStartError(t *testing.T) {
Post(ts.URL + "/set-reset-multipart-readers-test")

assertEqual(t, 500, resp.StatusCode())
assertEqual(t, err.Error(), seekFailure.Error())
assertEqual(t, err.Error(), errSeekFailure.Error())
}

func TestResetMultipartReaders(t *testing.T) {
Expand Down
2 changes: 1 addition & 1 deletion trace.go
@@ -1,4 +1,4 @@
// Copyright (c) 2015-2021 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// Copyright (c) 2015-2023 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// resty source code and usage is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion transport.go
@@ -1,7 +1,7 @@
//go:build go1.13
// +build go1.13

// Copyright (c) 2015-2021 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// Copyright (c) 2015-2023 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// resty source code and usage is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion transport112.go
@@ -1,7 +1,7 @@
//go:build !go1.13
// +build !go1.13

// Copyright (c) 2015-2021 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// Copyright (c) 2015-2023 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// resty source code and usage is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion util.go
@@ -1,4 +1,4 @@
// Copyright (c) 2015-2021 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// Copyright (c) 2015-2023 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// resty source code and usage is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down
2 changes: 1 addition & 1 deletion util_test.go
@@ -1,4 +1,4 @@
// Copyright (c) 2015-2021 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// Copyright (c) 2015-2023 Jeevanandam M (jeeva@myjeeva.com), All rights reserved.
// resty source code and usage is governed by a MIT style
// license that can be found in the LICENSE file.

Expand Down

0 comments on commit f55f417

Please sign in to comment.