Skip to content

Commit

Permalink
fix: httpcode error (#1257)
Browse files Browse the repository at this point in the history
* fix:httpcode
  • Loading branch information
constwz authored Dec 4, 2023
1 parent 8a1ed53 commit c917422
Show file tree
Hide file tree
Showing 16 changed files with 454 additions and 232 deletions.
12 changes: 6 additions & 6 deletions base/gfspclient/approver.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ func (s *GfSpClient) AskCreateBucketApproval(ctx context.Context, task coretask.
conn, connErr := s.ApproverConn(ctx)
if connErr != nil {
log.CtxErrorw(ctx, "client failed to connect approver", "error", connErr)
return false, nil, ErrRPCUnknownWithDetail("client failed to connect approver, error: " + connErr.Error())
return false, nil, ErrRPCUnknownWithDetail("client failed to connect approver, error: ", connErr)
}
req := &gfspserver.GfSpAskApprovalRequest{
Request: &gfspserver.GfSpAskApprovalRequest_CreateBucketApprovalTask{
Expand All @@ -23,7 +23,7 @@ func (s *GfSpClient) AskCreateBucketApproval(ctx context.Context, task coretask.
resp, err := gfspserver.NewGfSpApprovalServiceClient(conn).GfSpAskApproval(ctx, req)
if err != nil {
log.CtxErrorw(ctx, "client failed to ask create bucket approval", "error", err)
return false, nil, ErrRPCUnknownWithDetail("client failed to ask create bucket approval, error: " + err.Error())
return false, nil, ErrRPCUnknownWithDetail("client failed to ask create bucket approval, error: ", err)
}
if resp.GetErr() != nil {
return false, nil, resp.GetErr()
Expand All @@ -42,7 +42,7 @@ func (s *GfSpClient) AskMigrateBucketApproval(ctx context.Context, task coretask
conn, connErr := s.ApproverConn(ctx)
if connErr != nil {
log.CtxErrorw(ctx, "client failed to connect approver", "error", connErr)
return false, nil, ErrRPCUnknownWithDetail("client failed to connect approver, error: " + connErr.Error())
return false, nil, ErrRPCUnknownWithDetail("client failed to connect approver, error: ", connErr)
}
req := &gfspserver.GfSpAskApprovalRequest{
Request: &gfspserver.GfSpAskApprovalRequest_MigrateBucketApprovalTask{
Expand All @@ -51,7 +51,7 @@ func (s *GfSpClient) AskMigrateBucketApproval(ctx context.Context, task coretask
resp, err := gfspserver.NewGfSpApprovalServiceClient(conn).GfSpAskApproval(ctx, req)
if err != nil {
log.CtxErrorw(ctx, "client failed to ask create bucket approval", "error", err)
return false, nil, ErrRPCUnknownWithDetail("client failed to ask create bucket approval, error: " + err.Error())
return false, nil, ErrRPCUnknownWithDetail("client failed to ask create bucket approval, error: ", err)
}
if resp.GetErr() != nil {
return false, nil, resp.GetErr()
Expand All @@ -70,7 +70,7 @@ func (s *GfSpClient) AskCreateObjectApproval(ctx context.Context, task coretask.
conn, connErr := s.ApproverConn(ctx)
if connErr != nil {
log.CtxErrorw(ctx, "client failed to connect approver", "error", connErr)
return false, nil, ErrRPCUnknownWithDetail("client failed to connect approver, error: " + connErr.Error())
return false, nil, ErrRPCUnknownWithDetail("client failed to connect approver, error: ", connErr)
}
req := &gfspserver.GfSpAskApprovalRequest{
Request: &gfspserver.GfSpAskApprovalRequest_CreateObjectApprovalTask{
Expand All @@ -79,7 +79,7 @@ func (s *GfSpClient) AskCreateObjectApproval(ctx context.Context, task coretask.
resp, err := gfspserver.NewGfSpApprovalServiceClient(conn).GfSpAskApproval(ctx, req)
if err != nil {
log.CtxErrorw(ctx, "client failed to ask create object approval", "error", err)
return false, nil, ErrRPCUnknownWithDetail("client failed to ask create object approval, error: " + err.Error())
return false, nil, ErrRPCUnknownWithDetail("client failed to ask create object approval, error: ", err)
}
if resp.GetErr() != nil {
return false, nil, resp.GetErr()
Expand Down
10 changes: 5 additions & 5 deletions base/gfspclient/authenticator.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ func (s *GfSpClient) VerifyAuthentication(ctx context.Context, auth coremodule.A
metrics.PerfAuthTimeHistogram.WithLabelValues("auth_client_create_conn_time").Observe(time.Since(startTime).Seconds())
if connErr != nil {
log.CtxErrorw(ctx, "client failed to connect authenticator", "error", connErr)
return false, ErrRPCUnknownWithDetail("client failed to connect authenticator, error:" + connErr.Error())
return false, ErrRPCUnknownWithDetail("client failed to connect authenticator, error:", connErr)
}
defer conn.Close()
req := &gfspserver.GfSpAuthenticationRequest{
Expand All @@ -36,7 +36,7 @@ func (s *GfSpClient) VerifyAuthentication(ctx context.Context, auth coremodule.A
metrics.PerfAuthTimeHistogram.WithLabelValues("auth_client_network_time").Observe(time.Since(startRequestTime).Seconds())
if err != nil {
log.CtxErrorw(ctx, "client failed to verify authentication", "error", err)
return false, ErrRPCUnknownWithDetail("client failed to verify authentication, error: " + err.Error())
return false, ErrRPCUnknownWithDetail("client failed to verify authentication, error: ", err)
}
if resp.GetErr() != nil {
return false, resp.GetErr()
Expand All @@ -50,7 +50,7 @@ func (s *GfSpClient) GetAuthNonce(ctx context.Context, account string, domain st
conn, connErr := s.Connection(ctx, s.authenticatorEndpoint, opts...)
if connErr != nil {
log.CtxErrorw(ctx, "client failed to connect authenticator", "error", connErr)
return 0, 0, "", 0, ErrRPCUnknownWithDetail("client failed to connect authenticator, error: " + connErr.Error())
return 0, 0, "", 0, ErrRPCUnknownWithDetail("client failed to connect authenticator, error: ", connErr)
}
defer conn.Close()
req := &gfspserver.GetAuthNonceRequest{
Expand All @@ -75,7 +75,7 @@ func (s *GfSpClient) UpdateUserPublicKey(ctx context.Context, account string, do
conn, connErr := s.Connection(ctx, s.authenticatorEndpoint, opts...)
if connErr != nil {
log.CtxErrorw(ctx, "client failed to connect authenticator", "error", connErr)
return false, ErrRPCUnknownWithDetail("client failed to connect authenticator, error: " + connErr.Error())
return false, ErrRPCUnknownWithDetail("client failed to connect authenticator, error: ", connErr)
}
defer conn.Close()
req := &gfspserver.UpdateUserPublicKeyRequest{
Expand Down Expand Up @@ -104,7 +104,7 @@ func (s *GfSpClient) VerifyGNFD1EddsaSignature(ctx context.Context, account stri
conn, connErr := s.Connection(ctx, s.authenticatorEndpoint, opts...)
if connErr != nil {
log.CtxErrorw(ctx, "client failed to connect authenticator", "error", connErr)
return false, ErrRPCUnknownWithDetail("client failed to connect authenticator, error: " + connErr.Error())
return false, ErrRPCUnknownWithDetail("client failed to connect authenticator, error: ", connErr)
}
defer conn.Close()
req := &gfspserver.VerifyGNFD1EddsaSignatureRequest{
Expand Down
15 changes: 9 additions & 6 deletions base/gfspclient/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,11 @@ var (
ErrNoSuchObject = gfsperrors.Register(ClientCodeSpace, http.StatusBadRequest, 98093, "no such object from metadata")
)

func ErrRPCUnknownWithDetail(detail string) *gfsperrors.GfSpError {
return gfsperrors.Register(ClientCodeSpace, http.StatusInternalServerError, 98001, detail)
func ErrRPCUnknownWithDetail(detail string, err error) *gfsperrors.GfSpError {
if gfspErr := gfsperrors.MakeGfSpError(err); gfspErr != nil {
return gfspErr
}
return gfsperrors.Register(ClientCodeSpace, http.StatusInternalServerError, 98001, detail+err.Error())
}

type GfSpClient struct {
Expand Down Expand Up @@ -94,7 +97,7 @@ func (s *GfSpClient) ApproverConn(ctx context.Context, opts ...grpc.DialOption)
conn, err := s.Connection(ctx, s.approverEndpoint, options...)
if err != nil {
log.CtxErrorw(ctx, "failed to create connection", "error", err)
return nil, ErrRPCUnknownWithDetail("failed to create connection, error: " + err.Error())
return nil, ErrRPCUnknownWithDetail("failed to create connection, error: ", err)
}
s.approverConn = conn
}
Expand All @@ -112,7 +115,7 @@ func (s *GfSpClient) ManagerConn(ctx context.Context, opts ...grpc.DialOption) (
conn, err := s.Connection(ctx, s.managerEndpoint, options...)
if err != nil {
log.CtxErrorw(ctx, "failed to create connection", "error", err)
return nil, ErrRPCUnknownWithDetail("failed to create connection, error: " + err.Error())
return nil, ErrRPCUnknownWithDetail("failed to create connection, error: ", err)
}
s.managerConn = conn
}
Expand All @@ -130,7 +133,7 @@ func (s *GfSpClient) P2PConn(ctx context.Context, opts ...grpc.DialOption) (*grp
conn, err := s.Connection(ctx, s.p2pEndpoint, options...)
if err != nil {
log.CtxErrorw(ctx, "failed to create connection", "error", err)
return nil, ErrRPCUnknownWithDetail("failed to create connection, error: " + err.Error())
return nil, ErrRPCUnknownWithDetail("failed to create connection, error: ", err)
}
s.p2pConn = conn
}
Expand All @@ -148,7 +151,7 @@ func (s *GfSpClient) SignerConn(ctx context.Context, opts ...grpc.DialOption) (*
conn, err := s.Connection(ctx, s.signerEndpoint, options...)
if err != nil {
log.CtxErrorw(ctx, "failed to create connection", "error", err)
return nil, ErrRPCUnknownWithDetail("failed to create connection, error: " + err.Error())
return nil, ErrRPCUnknownWithDetail("failed to create connection, error: ", err)
}
s.signerConn = conn
}
Expand Down
3 changes: 2 additions & 1 deletion base/gfspclient/client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package gfspclient

import (
"context"
"errors"
"testing"

"github.com/stretchr/testify/assert"
Expand All @@ -10,7 +11,7 @@ import (
const mockAddress = "localhost:0"

func TestErrRPCUnknownWithDetail(t *testing.T) {
err := ErrRPCUnknownWithDetail("mock")
err := ErrRPCUnknownWithDetail("mock", errors.New("mock"))
assert.NotNil(t, err)
}

Expand Down
20 changes: 10 additions & 10 deletions base/gfspclient/downloader.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ func (s *GfSpClient) GetObject(ctx context.Context, downloadObjectTask coretask.
conn, connErr := s.Connection(ctx, s.downloaderEndpoint, opts...)
if connErr != nil {
log.CtxErrorw(ctx, "client failed to connect downloader", "error", connErr)
return nil, ErrRPCUnknownWithDetail("client failed to connect downloader, error: " + connErr.Error())
return nil, ErrRPCUnknownWithDetail("client failed to connect downloader, error: ", connErr)
}
defer conn.Close()
req := &gfspserver.GfSpDownloadObjectRequest{
Expand All @@ -27,7 +27,7 @@ func (s *GfSpClient) GetObject(ctx context.Context, downloadObjectTask coretask.
resp, err := gfspserver.NewGfSpDownloadServiceClient(conn).GfSpDownloadObject(ctx, req)
if err != nil {
log.CtxErrorw(ctx, "client failed to download object", "error", err)
return nil, ErrRPCUnknownWithDetail("client failed to download object, error: " + err.Error())
return nil, ErrRPCUnknownWithDetail("client failed to download object, error: ", err)
}
if resp.GetErr() != nil {
return nil, resp.GetErr()
Expand All @@ -40,7 +40,7 @@ func (s *GfSpClient) GetPiece(ctx context.Context, downloadPieceTask coretask.Do
conn, connErr := s.Connection(ctx, s.downloaderEndpoint, opts...)
if connErr != nil {
log.CtxErrorw(ctx, "client failed to connect downloader", "error", connErr)
return nil, ErrRPCUnknownWithDetail("client failed to connect downloader, error: " + connErr.Error())
return nil, ErrRPCUnknownWithDetail("client failed to connect downloader, error: ", connErr)
}
defer conn.Close()
req := &gfspserver.GfSpDownloadPieceRequest{
Expand All @@ -49,7 +49,7 @@ func (s *GfSpClient) GetPiece(ctx context.Context, downloadPieceTask coretask.Do
resp, err := gfspserver.NewGfSpDownloadServiceClient(conn).GfSpDownloadPiece(ctx, req)
if err != nil {
log.CtxErrorw(ctx, "client failed to download piece", "error", err)
return nil, ErrRPCUnknownWithDetail("client failed to download piece, error: " + err.Error())
return nil, ErrRPCUnknownWithDetail("client failed to download piece, error: ", err)
}
if resp.GetErr() != nil {
return nil, resp.GetErr()
Expand All @@ -61,7 +61,7 @@ func (s *GfSpClient) RecoupQuota(ctx context.Context, bucketID, extraQuota uint6
conn, connErr := s.Connection(ctx, s.downloaderEndpoint, opts...)
if connErr != nil {
log.CtxErrorw(ctx, "client failed to connect downloader", "error", connErr)
return ErrRPCUnknownWithDetail("client failed to connect downloader, error: " + connErr.Error())
return ErrRPCUnknownWithDetail("client failed to connect downloader, error: ", connErr)
}
defer conn.Close()
req := &gfspserver.GfSpReimburseQuotaRequest{
Expand All @@ -73,7 +73,7 @@ func (s *GfSpClient) RecoupQuota(ctx context.Context, bucketID, extraQuota uint6
resp, err := gfspserver.NewGfSpDownloadServiceClient(conn).GfSpReimburseQuota(ctx, req)
if err != nil {
log.CtxErrorw(ctx, "client failed to recoup the extra quota", "error", err)
return ErrRPCUnknownWithDetail("client failed to recoup extra quota, error: " + err.Error())
return ErrRPCUnknownWithDetail("client failed to recoup extra quota, error: ", err)
}
if resp.GetErr() != nil {
return resp.GetErr()
Expand All @@ -85,7 +85,7 @@ func (s *GfSpClient) DeductQuotaForBucketMigrate(ctx context.Context, bucketID,
conn, connErr := s.Connection(ctx, s.downloaderEndpoint, opts...)
if connErr != nil {
log.CtxErrorw(ctx, "client failed to connect downloader", "error", connErr)
return ErrRPCUnknownWithDetail("client failed to connect downloader, error: " + connErr.Error())
return ErrRPCUnknownWithDetail("client failed to connect downloader, error: ", connErr)
}
defer conn.Close()
req := &gfspserver.GfSpDeductQuotaForBucketMigrateRequest{
Expand All @@ -97,7 +97,7 @@ func (s *GfSpClient) DeductQuotaForBucketMigrate(ctx context.Context, bucketID,
resp, err := gfspserver.NewGfSpDownloadServiceClient(conn).GfSpDeductQuotaForBucketMigrate(ctx, req)
if err != nil {
log.CtxErrorw(ctx, "client failed to deduct the quota for bucket migrate", "request", req, "error", err)
return ErrRPCUnknownWithDetail("client failed to deduct the quota for bucket migrate, error: " + err.Error())
return ErrRPCUnknownWithDetail("client failed to deduct the quota for bucket migrate, error: ", err)
}
if resp.GetErr() != nil {
return resp.GetErr()
Expand All @@ -110,7 +110,7 @@ func (s *GfSpClient) GetChallengeInfo(ctx context.Context, challengePieceTask co
conn, connErr := s.Connection(ctx, s.downloaderEndpoint, opts...)
if connErr != nil {
log.CtxErrorw(ctx, "client failed to connect downloader", "error", connErr)
return nil, nil, nil, ErrRPCUnknownWithDetail("client failed to connect downloader, error: " + connErr.Error())
return nil, nil, nil, ErrRPCUnknownWithDetail("client failed to connect downloader, error: ", connErr)
}
defer conn.Close()
req := &gfspserver.GfSpGetChallengeInfoRequest{
Expand All @@ -121,7 +121,7 @@ func (s *GfSpClient) GetChallengeInfo(ctx context.Context, challengePieceTask co
metrics.PerfChallengeTimeHistogram.WithLabelValues("challenge_client_total_time").Observe(time.Since(startTime).Seconds())
if err != nil {
log.CtxErrorw(ctx, "client failed to get challenge piece info", "error", err)
return nil, nil, nil, ErrRPCUnknownWithDetail("client failed to get challenge piece info, error: " + err.Error())
return nil, nil, nil, ErrRPCUnknownWithDetail("client failed to get challenge piece info, error: ", err)
}
if resp.GetErr() != nil {
return nil, nil, nil, resp.GetErr()
Expand Down
Loading

0 comments on commit c917422

Please sign in to comment.