Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions clients/config_client/config_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -205,6 +205,14 @@ func (client *ConfigClient) getConfigInner(param vo.ConfigParam) (content string
response, err := client.configProxy.queryConfig(param.DataId, param.Group, clientConfig.NamespaceId,
clientConfig.TimeoutMs, false, client)
if err != nil {
if _, ok := err.(*nacos_error.NacosError); ok {
nacosErr := err.(*nacos_error.NacosError)

if nacosErr.ErrorCode() == "403" {
return "", errors.New(nacosErr.Error())
}
}

logger.Errorf("get config from server error:%v, dataId=%s, group=%s, namespaceId=%s", err,
param.DataId, param.Group, clientConfig.NamespaceId)

Expand Down
12 changes: 12 additions & 0 deletions clients/config_client/config_proxy.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ package config_client
import (
"context"
"encoding/json"
"github.com/nacos-group/nacos-sdk-go/v2/common/nacos_error"
"net/http"
"strconv"
"time"
Expand Down Expand Up @@ -62,6 +63,11 @@ func (cp *ConfigProxy) requestProxy(rpcClient *rpc.RpcClient, request rpc_reques
signHeaders := nacos_server.GetSignHeadersFromRequest(request.(rpc_request.IConfigRequest), cp.clientConfig.SecretKey)
request.PutAllHeaders(signHeaders)
response, err := rpcClient.Request(request, int64(timeoutMills))
if response != nil && response.GetErrorCode() == 403 {
logger.Debugf(
"[config_rpc_client] [sub-server-error] request being forbidden, reason: %s", response.GetMessage())
return nil, nacos_error.NewNacosError("403", "request being forbidden, reason: "+response.GetMessage(), nil)
}
monitor.GetConfigRequestMonitor(constant.GRPC, request.GetRequestType(), rpc_response.GetGrpcResponseStatusCode(response)).Observe(float64(time.Now().Nanosecond() - start.Nanosecond()))
return response, err
}
Expand Down Expand Up @@ -143,6 +149,12 @@ func (cp *ConfigProxy) queryConfig(dataId, group, tenant string, timeout uint64,
return nil, errors.New("data being modified, dataId=" + dataId + ",group=" + group + ",tenant=" + tenant)
}

if response.GetErrorCode() == 403 {
logger.Debugf(
"[config_rpc_client] [sub-server-error] get server config being forbidden, reason: %s", response.GetMessage())
return nil, nacos_error.NewNacosError("403", "get server config being forbidden, reason: "+response.GetMessage(), nil)
}

if response.GetErrorCode() > 0 {
logger.Errorf("[config_rpc_client] [sub-server-error] dataId=%s, group=%s, tenant=%s, code=%+v", dataId, group,
tenant, response)
Expand Down