Skip to content

Commit 700f3bd

Browse files
authored
Merge pull request #439 from tonkeeper/improve-handling-of-grpc-errors
Improve handling of grpc errors
2 parents 0276130 + 887bb5b commit 700f3bd

File tree

3 files changed

+15
-7
lines changed

3 files changed

+15
-7
lines changed

go.mod

+2
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ require (
3434
golang.org/x/exp v0.0.0-20230725093048-515e97ebf090
3535
golang.org/x/net v0.23.0
3636
golang.org/x/text v0.14.0
37+
google.golang.org/grpc v1.31.0
3738
gopkg.in/yaml.v3 v3.0.1
3839
)
3940

@@ -66,6 +67,7 @@ require (
6667
golang.org/x/sync v0.6.0 // indirect
6768
golang.org/x/sys v0.18.0 // indirect
6869
golang.org/x/tools v0.19.0 // indirect
70+
google.golang.org/genproto v0.0.0-20200825200019-8632dd797987 // indirect
6971
google.golang.org/protobuf v1.33.0 // indirect
7072
gopkg.in/yaml.v2 v2.4.0 // indirect
7173
)

go.sum

+2
Original file line numberDiff line numberDiff line change
@@ -557,6 +557,7 @@ google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEY
557557
google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA=
558558
google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
559559
google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
560+
google.golang.org/genproto v0.0.0-20200825200019-8632dd797987 h1:PDIOdWxZ8eRizhKa1AAvY53xsvLB1cWorMjslvY3VA8=
560561
google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
561562
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
562563
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
@@ -569,6 +570,7 @@ google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8
569570
google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60=
570571
google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
571572
google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
573+
google.golang.org/grpc v1.31.0 h1:T7P4R73V3SSDPhH7WW7ATbfViLtmamH0DKrP3f9AuDI=
572574
google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
573575
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
574576
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=

pkg/api/converters.go

+11-7
Original file line numberDiff line numberDiff line change
@@ -10,22 +10,26 @@ import (
1010
"strings"
1111
"unicode"
1212

13-
"github.com/tonkeeper/opentonapi/pkg/core"
14-
imgGenerator "github.com/tonkeeper/opentonapi/pkg/image"
15-
walletPkg "github.com/tonkeeper/opentonapi/pkg/wallet"
13+
"github.com/go-faster/jx"
14+
"github.com/tonkeeper/tongo"
1615
"github.com/tonkeeper/tongo/boc"
1716
"github.com/tonkeeper/tongo/tlb"
17+
"google.golang.org/grpc/status"
1818

19-
"github.com/go-faster/jx"
19+
"github.com/tonkeeper/opentonapi/pkg/core"
20+
imgGenerator "github.com/tonkeeper/opentonapi/pkg/image"
2021
"github.com/tonkeeper/opentonapi/pkg/oas"
21-
"github.com/tonkeeper/tongo"
22+
walletPkg "github.com/tonkeeper/opentonapi/pkg/wallet"
2223
)
2324

2425
func toError(code int, err error) *oas.ErrorStatusCode {
25-
msg := err.Error()
2626
if strings.HasPrefix(err.Error(), "failed to connect to") || strings.Contains(err.Error(), "host=") {
27-
msg = "unknown error"
27+
return &oas.ErrorStatusCode{StatusCode: code, Response: oas.Error{Error: "unknown error"}}
28+
}
29+
if s, ok := status.FromError(err); ok {
30+
return &oas.ErrorStatusCode{StatusCode: code, Response: oas.Error{Error: s.Message()}}
2831
}
32+
msg := err.Error()
2933
return &oas.ErrorStatusCode{StatusCode: code, Response: oas.Error{Error: msg}}
3034
}
3135

0 commit comments

Comments
 (0)