diff --git a/bulk/bulk.go b/bulk/bulk.go index 7838605..fdc3f2b 100644 --- a/bulk/bulk.go +++ b/bulk/bulk.go @@ -2,9 +2,10 @@ package bulk import ( "context" + "errors" + "fmt" "github.com/namely/go-sfdc/v3/session" - "github.com/pkg/errors" ) type BulkEndpoint string @@ -29,7 +30,7 @@ func NewResource(ctx context.Context, endpoint BulkEndpoint, session session.Ser err := session.Refresh(ctx) if err != nil { - return nil, errors.Wrap(err, "session refresh") + return nil, fmt.Errorf("session refresh: %w", err) } return &Resource{ diff --git a/bulk/v1/batch_test.go b/bulk/v1/batch_test.go index 29c1365..22782e1 100644 --- a/bulk/v1/batch_test.go +++ b/bulk/v1/batch_test.go @@ -2,7 +2,7 @@ package bulkv1 import ( "context" - "io/ioutil" + "io" "net/http" "strings" "testing" @@ -47,7 +47,7 @@ func TestBatch_response(t *testing.T) { return &http.Response{ StatusCode: http.StatusOK, Status: "OK", - Body: ioutil.NopCloser(strings.NewReader(resp)), + Body: io.NopCloser(strings.NewReader(resp)), Header: make(http.Header), } }, @@ -81,7 +81,7 @@ func TestBatch_response(t *testing.T) { return &http.Response{ StatusCode: http.StatusBadRequest, Status: "Bad", - Body: ioutil.NopCloser(strings.NewReader(resp)), + Body: io.NopCloser(strings.NewReader(resp)), Header: make(http.Header), } }), @@ -147,7 +147,7 @@ func TestBatch_fetchInfo(t *testing.T) { return &http.Response{ StatusCode: http.StatusOK, Status: "OK", - Body: ioutil.NopCloser(strings.NewReader(resp)), + Body: io.NopCloser(strings.NewReader(resp)), Header: make(http.Header), } }, @@ -224,7 +224,7 @@ func TestBatch_create(t *testing.T) { return &http.Response{ StatusCode: http.StatusCreated, Status: "OK", - Body: ioutil.NopCloser(strings.NewReader(resp)), + Body: io.NopCloser(strings.NewReader(resp)), Header: make(http.Header), } }, @@ -302,7 +302,7 @@ func TestBatch_Results(t *testing.T) { return &http.Response{ StatusCode: http.StatusOK, Status: "OK", - Body: ioutil.NopCloser(strings.NewReader(resp)), + Body: io.NopCloser(strings.NewReader(resp)), Header: make(http.Header), } }, @@ -316,7 +316,7 @@ func TestBatch_Results(t *testing.T) { return &http.Response{ StatusCode: http.StatusOK, Status: "OK", - Body: ioutil.NopCloser(strings.NewReader(resp)), + Body: io.NopCloser(strings.NewReader(resp)), Header: make(http.Header), } }, @@ -388,7 +388,7 @@ func TestBatch_Results(t *testing.T) { return &http.Response{ StatusCode: http.StatusOK, Status: "OK", - Body: ioutil.NopCloser(strings.NewReader(resp)), + Body: io.NopCloser(strings.NewReader(resp)), Header: make(http.Header), } }, diff --git a/bulk/v1/bulk.go b/bulk/v1/bulk.go index 6accf5f..3f2c87a 100644 --- a/bulk/v1/bulk.go +++ b/bulk/v1/bulk.go @@ -2,11 +2,11 @@ package bulkv1 import ( "context" + "errors" "fmt" "strings" "github.com/namely/go-sfdc/v3/session" - "github.com/pkg/errors" ) func bulkEndpoint(session session.ServiceFormatter, path ...string) string { @@ -32,7 +32,7 @@ func NewResource(ctx context.Context, session session.ServiceFormatter) (*Resour err := session.Refresh(ctx) if err != nil { - return nil, errors.Wrap(err, "session refresh") + return nil, fmt.Errorf("session refresh: %w", err) } return &Resource{ diff --git a/composite/batch/batch.go b/composite/batch/batch.go index 6243782..92113b5 100644 --- a/composite/batch/batch.go +++ b/composite/batch/batch.go @@ -4,11 +4,12 @@ import ( "bytes" "context" "encoding/json" + "errors" + "fmt" "net/http" "github.com/namely/go-sfdc/v3" "github.com/namely/go-sfdc/v3/session" - "github.com/pkg/errors" ) // Subrequester provides the composite batch API requests. @@ -59,7 +60,7 @@ func NewResource(ctx context.Context, session session.ServiceFormatter) (*Resour err := session.Refresh(ctx) if err != nil { - return nil, errors.Wrap(err, "session refresh") + return nil, fmt.Errorf("session refresh: %w", err) } return &Resource{ diff --git a/composite/batch/error.go b/composite/batch/error.go index a8cc77d..a49d1e2 100644 --- a/composite/batch/error.go +++ b/composite/batch/error.go @@ -2,9 +2,9 @@ package batch import ( "encoding/json" + "errors" "github.com/namely/go-sfdc/v3" - "github.com/pkg/errors" ) func HandleSubrequestError(result Subvalue) error { diff --git a/composite/composite.go b/composite/composite.go index bcde64b..3e9e520 100644 --- a/composite/composite.go +++ b/composite/composite.go @@ -4,12 +4,13 @@ import ( "bytes" "context" "encoding/json" + "errors" + "fmt" "net/http" "github.com/namely/go-sfdc/v3" "github.com/namely/go-sfdc/v3/composite/batch" "github.com/namely/go-sfdc/v3/session" - "github.com/pkg/errors" ) var ( @@ -70,7 +71,7 @@ func NewResource(ctx context.Context, session session.ServiceFormatter) (*Resour err := session.Refresh(ctx) if err != nil { - return nil, errors.Wrap(err, "session refresh") + return nil, fmt.Errorf("session refresh: %w", err) } return &Resource{ diff --git a/error.go b/error.go index 8c085f4..392c53a 100644 --- a/error.go +++ b/error.go @@ -2,12 +2,11 @@ package sfdc import ( "encoding/json" + "errors" "fmt" - "io/ioutil" + "io" "net/http" "strings" - - "github.com/pkg/errors" ) // Error is the error structure defined by the Salesforce API. @@ -87,13 +86,13 @@ func (e Errors) Error() string { // HandleError makes an error from http.Response. // It is the caller's responsibility to close resp.Body. func HandleError(resp *http.Response) error { - return errors.Wrap(newErrorFromBody(resp), resp.Status) + return fmt.Errorf("%s: %w", resp.Status, newErrorFromBody(resp)) } func newErrorFromBody(resp *http.Response) error { - body, err := ioutil.ReadAll(resp.Body) + body, err := io.ReadAll(resp.Body) if err != nil { - return errors.Wrap(err, "could not read the body with error") + return fmt.Errorf("could not read the body with error: %w", err) } errs := Errors{} diff --git a/go.mod b/go.mod index bb29f24..ed08592 100644 --- a/go.mod +++ b/go.mod @@ -1,11 +1,10 @@ module github.com/namely/go-sfdc/v3 -go 1.19 +go 1.20 require ( - github.com/cenkalti/backoff/v4 v4.2.0 - github.com/pkg/errors v0.9.1 - github.com/stretchr/testify v1.8.1 + github.com/cenkalti/backoff/v4 v4.2.1 + github.com/stretchr/testify v1.8.4 ) require ( diff --git a/go.sum b/go.sum index 0dfa331..987eed9 100644 --- a/go.sum +++ b/go.sum @@ -1,21 +1,12 @@ -github.com/cenkalti/backoff/v4 v4.2.0 h1:HN5dHm3WBOgndBH6E8V0q2jIYIR3s9yglV8k/+MN3u4= -github.com/cenkalti/backoff/v4 v4.2.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM= +github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/session/session.go b/session/session.go index 5beea75..410572f 100644 --- a/session/session.go +++ b/session/session.go @@ -4,6 +4,7 @@ package session import ( "context" "encoding/json" + "errors" "fmt" "net/http" "sync" @@ -11,7 +12,6 @@ import ( "github.com/namely/go-sfdc/v3" "github.com/namely/go-sfdc/v3/credentials" - "github.com/pkg/errors" ) const ( @@ -130,7 +130,7 @@ func passwordSessionResponse(request *http.Request, client *http.Client) (*sessi defer response.Body.Close() if response.StatusCode != http.StatusOK { - return nil, errors.Wrap(sfdc.HandleError(response), "session response") + return nil, fmt.Errorf("session response: %w", sfdc.HandleError(response)) } var sessionResponse sessionPasswordResponse diff --git a/sobject/collections/collections.go b/sobject/collections/collections.go index fa011a8..c855d8d 100644 --- a/sobject/collections/collections.go +++ b/sobject/collections/collections.go @@ -5,6 +5,7 @@ import ( "bytes" "context" "encoding/json" + "errors" "fmt" "io" "net/http" @@ -14,7 +15,6 @@ import ( "github.com/namely/go-sfdc/v3" "github.com/namely/go-sfdc/v3/session" "github.com/namely/go-sfdc/v3/sobject" - "github.com/pkg/errors" ) const ( @@ -53,7 +53,7 @@ func NewResources(ctx context.Context, session session.ServiceFormatter) (*Resou err := session.Refresh(ctx) if err != nil { - return nil, errors.Wrap(err, "session refresh") + return nil, fmt.Errorf("session refresh: %w", err) } return &Resource{ @@ -123,7 +123,7 @@ func (r *Resource) Query(ctx context.Context, sobject string, records []sobject. return nil, err } - if matching == false { + if !matching { return nil, fmt.Errorf("collection resource: %s is not a valid sobject", sobject) } diff --git a/sobject/framework.go b/sobject/framework.go index 275d56c..091f0f9 100644 --- a/sobject/framework.go +++ b/sobject/framework.go @@ -2,13 +2,13 @@ package sobject import ( "context" + "errors" "fmt" "regexp" "time" "github.com/namely/go-sfdc/v3" "github.com/namely/go-sfdc/v3/session" - "github.com/pkg/errors" ) // ObjectURLs is the URL for the SObject metadata. @@ -48,7 +48,7 @@ func NewResources(ctx context.Context, session session.ServiceFormatter) (*Resou err := session.Refresh(ctx) if err != nil { - return nil, errors.Wrap(err, "session refresh") + return nil, fmt.Errorf("session refresh: %w", err) } return &Resources{ diff --git a/sobject/framework_test.go b/sobject/framework_test.go index b5baabb..c6a90fb 100644 --- a/sobject/framework_test.go +++ b/sobject/framework_test.go @@ -2,13 +2,13 @@ package sobject import ( "context" + "errors" "reflect" "testing" "time" "github.com/namely/go-sfdc/v3" "github.com/namely/go-sfdc/v3/session" - "github.com/pkg/errors" ) func TestSalesforceAPI_Metadata(t *testing.T) { diff --git a/sobject/tree/tree.go b/sobject/tree/tree.go index fca719f..fa56331 100644 --- a/sobject/tree/tree.go +++ b/sobject/tree/tree.go @@ -4,13 +4,13 @@ import ( "bytes" "context" "encoding/json" + "errors" "fmt" "net/http" "regexp" "github.com/namely/go-sfdc/v3" "github.com/namely/go-sfdc/v3/session" - "github.com/pkg/errors" ) // Inserter is used to define the SObject and it's records for the @@ -48,7 +48,7 @@ func NewResource(ctx context.Context, session session.ServiceFormatter) (*Resour err := session.Refresh(ctx) if err != nil { - return nil, errors.Wrap(err, "session refresh") + return nil, fmt.Errorf("session refresh: %w", err) } return &Resource{ diff --git a/soql/query.go b/soql/query.go index 5bf23c5..ea49290 100644 --- a/soql/query.go +++ b/soql/query.go @@ -3,11 +3,12 @@ package soql import ( "context" "encoding/json" + "errors" + "fmt" "net/http" "github.com/namely/go-sfdc/v3" "github.com/namely/go-sfdc/v3/session" - "github.com/pkg/errors" ) // Resource is the structure for the Salesforce @@ -80,7 +81,7 @@ func NewResource(ctx context.Context, session session.ServiceFormatter) (*Resour err := session.Refresh(ctx) if err != nil { - return nil, errors.Wrap(err, "session refresh") + return nil, fmt.Errorf("session refresh: %w", err) } return &Resource{