diff --git a/pkg/common/mw/rpc.go b/pkg/common/mw/rpc.go index 43027f275..d68099dc3 100644 --- a/pkg/common/mw/rpc.go +++ b/pkg/common/mw/rpc.go @@ -15,6 +15,9 @@ import ( "runtime/debug" ) +const OperationID = "operationID" +const OpUserID = "opUserID" + func rpcServerInterceptor(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (resp interface{}, err error) { var operationID string defer func() { @@ -27,13 +30,13 @@ func rpcServerInterceptor(ctx context.Context, req interface{}, info *grpc.Unary if !ok { return nil, status.New(codes.InvalidArgument, "missing metadata").Err() } - if opts := md.Get(constant.OperationID); len(opts) != 1 || opts[0] == "" { + if opts := md.Get(OperationID); len(opts) != 1 || opts[0] == "" { return nil, status.New(codes.InvalidArgument, "operationID error").Err() } else { operationID = opts[0] } var opUserID string - if opts := md.Get(constant.OpUserID); len(opts) == 1 { + if opts := md.Get(OpUserID); len(opts) == 1 { opUserID = opts[0] } ctx = tracelog.NewRpcCtx(ctx, funcName, operationID) diff --git a/pkg/proto/group/group.proto b/pkg/proto/group/group.proto index 0ed8632c8..acacef651 100644 --- a/pkg/proto/group/group.proto +++ b/pkg/proto/group/group.proto @@ -1,6 +1,6 @@ syntax = "proto3"; import "Open-IM-Server/pkg/proto/sdkws/ws.proto"; -import "Open-IM-Server/pkg/proto/sdkws/wrappers.proto"; +import "Open-IM-Server/pkg/proto/wrapperspb/wrapperspb.proto"; option go_package = "OpenIM/pkg/proto/group;group"; package OpenIMServer.group; @@ -246,10 +246,10 @@ message GetSuperGroupsInfoResp { message SetGroupMemberInfo{ string groupID = 1; string userID = 2; - google.protobuf.StringValue nickname = 3; - google.protobuf.StringValue faceURL = 4; - google.protobuf.Int32Value roleLevel = 5; - google.protobuf.StringValue ex = 6; + OpenIMServer.protobuf.StringValue nickname = 3; + OpenIMServer.protobuf.StringValue faceURL = 4; + OpenIMServer.protobuf.Int32Value roleLevel = 5; + OpenIMServer.protobuf.StringValue ex = 6; } message SetGroupMemberInfoReq{ diff --git a/pkg/proto/msg/msg.proto b/pkg/proto/msg/msg.proto index 0018d4f24..67be7e96b 100644 --- a/pkg/proto/msg/msg.proto +++ b/pkg/proto/msg/msg.proto @@ -1,6 +1,6 @@ syntax = "proto3"; import "Open-IM-Server/pkg/proto/sdkws/ws.proto"; -import "Open-IM-Server/pkg/proto/sdkws/wrappers.proto"; +import "Open-IM-Server/pkg/proto/wrapperspb/wrapperspb.proto"; option go_package = "OpenIM/pkg/proto/msg;msg"; package OpenIMServer.msg; @@ -103,8 +103,8 @@ message ModifyMessageReactionExtensionsReq { int32 sessionType = 2; map reactionExtensions = 3; string clientMsgID = 4; - google.protobuf.StringValue ex = 5; - google.protobuf.StringValue attachedInfo = 6; + OpenIMServer.protobuf.StringValue ex = 5; + OpenIMServer.protobuf.StringValue attachedInfo = 6; bool isReact = 7; bool isExternalExtensions = 8; int64 msgFirstModifyTime = 9; @@ -114,8 +114,8 @@ message SetMessageReactionExtensionsReq { int32 sessionType = 2; map reactionExtensions = 3; string clientMsgID = 4; - google.protobuf.StringValue ex = 5; - google.protobuf.StringValue attachedInfo = 6; + OpenIMServer.protobuf.StringValue ex = 5; + OpenIMServer.protobuf.StringValue attachedInfo = 6; bool isReact = 7; bool isExternalExtensions = 8; int64 msgFirstModifyTime = 9; diff --git a/pkg/proto/proto_dir.cfg b/pkg/proto/proto_dir.cfg index 87ea1026e..5d16b0067 100644 --- a/pkg/proto/proto_dir.cfg +++ b/pkg/proto/proto_dir.cfg @@ -1,5 +1,6 @@ all_proto=( + wrapperspb/wrapperspb.proto auth/auth.proto friend/friend.proto group/group.proto diff --git a/pkg/proto/sdkws/wrappers.proto b/pkg/proto/sdkws/wrappers.proto deleted file mode 100644 index c571f0968..000000000 --- a/pkg/proto/sdkws/wrappers.proto +++ /dev/null @@ -1,123 +0,0 @@ -// Protocol Buffers - Google's data interchange format -// Copyright 2008 Google Inc. All rights reserved. -// https://developers.google.com/protocol-buffers/ -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are -// met: -// -// * Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above -// copyright notice, this list of conditions and the following disclaimer -// in the documentation and/or other materials provided with the -// distribution. -// * Neither the name of Google Inc. nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -// Wrappers for primitive (non-message) types. These types are useful -// for embedding primitives in the `google.protobuf.Any` type and for places -// where we need to distinguish between the absence of a primitive -// typed field and its default value. -// -// These wrappers have no meaningful use within repeated fields as they lack -// the ability to detect presence on individual elements. -// These wrappers have no meaningful use within a map or a oneof since -// individual entries of a map or fields of a oneof can already detect presence. - -syntax = "proto3"; - -package google.protobuf; - -option csharp_namespace = "Google.Protobuf.WellKnownTypes"; -option cc_enable_arenas = true; -option go_package = "google.golang.org/protobuf/types/known/wrapperspb"; -option java_package = "com.google.protobuf"; -option java_outer_classname = "WrappersProto"; -option java_multiple_files = true; -option objc_class_prefix = "GPB"; - -// Wrapper message for `double`. -// -// The JSON representation for `DoubleValue` is JSON number. -message DoubleValue { - // The double value. - double value = 1; -} - -// Wrapper message for `float`. -// -// The JSON representation for `FloatValue` is JSON number. -message FloatValue { - // The float value. - float value = 1; -} - -// Wrapper message for `int64`. -// -// The JSON representation for `Int64Value` is JSON string. -message Int64Value { - // The int64 value. - int64 value = 1; -} - -// Wrapper message for `uint64`. -// -// The JSON representation for `UInt64Value` is JSON string. -message UInt64Value { - // The uint64 value. - uint64 value = 1; -} - -// Wrapper message for `int32`. -// -// The JSON representation for `Int32Value` is JSON number. -message Int32Value { - // The int32 value. - int32 value = 1; -} - -// Wrapper message for `uint32`. -// -// The JSON representation for `UInt32Value` is JSON number. -message UInt32Value { - // The uint32 value. - uint32 value = 1; -} - -// Wrapper message for `bool`. -// -// The JSON representation for `BoolValue` is JSON `true` and `false`. -message BoolValue { - // The bool value. - bool value = 1; -} - -// Wrapper message for `string`. -// -// The JSON representation for `StringValue` is JSON string. -message StringValue { - // The string value. - string value = 1; -} - -// Wrapper message for `bytes`. -// -// The JSON representation for `BytesValue` is JSON string. -message BytesValue { - // The bytes value. - bytes value = 1; -} \ No newline at end of file diff --git a/pkg/proto/sdkws/ws.proto b/pkg/proto/sdkws/ws.proto index 81a8c71e6..ed3e7e924 100644 --- a/pkg/proto/sdkws/ws.proto +++ b/pkg/proto/sdkws/ws.proto @@ -1,8 +1,7 @@ syntax = "proto3"; -import "Open-IM-Server/pkg/proto/sdkws/wrappers.proto"; -option go_package = "OpenIM/pkg/proto/sdkws;sdkws"; package OpenIMServer.sdkws; - +option go_package = "OpenIM/pkg/proto/sdkws;sdkws"; +import "Open-IM-Server/pkg/proto/wrapperspb/wrapperspb.proto"; ////////////////////////////////base/////////////////////////////// @@ -33,9 +32,9 @@ message GroupInfoForSet{ string introduction = 4; string faceURL = 5; string ex = 6; - google.protobuf.Int32Value needVerification = 7; - google.protobuf.Int32Value lookMemberInfo = 8; - google.protobuf.Int32Value applyMemberFriend = 9; + OpenIMServer.protobuf.Int32Value needVerification = 7; + OpenIMServer.protobuf.Int32Value lookMemberInfo = 8; + OpenIMServer.protobuf.Int32Value applyMemberFriend = 9; } diff --git a/pkg/proto/wrapperspb/wrapperspb.proto b/pkg/proto/wrapperspb/wrapperspb.proto new file mode 100644 index 000000000..d18f421a8 --- /dev/null +++ b/pkg/proto/wrapperspb/wrapperspb.proto @@ -0,0 +1,77 @@ +syntax = "proto3"; + +package OpenIMServer.protobuf; + +option go_package = "OpenIM/pkg/proto/wrapperspb;wrapperspb"; + +// Wrapper message for `double`. +// +// The JSON representation for `DoubleValue` is JSON number. +message DoubleValue { + // The double value. + double value = 1; +} + +// Wrapper message for `float`. +// +// The JSON representation for `FloatValue` is JSON number. +message FloatValue { + // The float value. + float value = 1; +} + +// Wrapper message for `int64`. +// +// The JSON representation for `Int64Value` is JSON string. +message Int64Value { + // The int64 value. + int64 value = 1; +} + +// Wrapper message for `uint64`. +// +// The JSON representation for `UInt64Value` is JSON string. +message UInt64Value { + // The uint64 value. + uint64 value = 1; +} + +// Wrapper message for `int32`. +// +// The JSON representation for `Int32Value` is JSON number. +message Int32Value { + // The int32 value. + int32 value = 1; +} + +// Wrapper message for `uint32`. +// +// The JSON representation for `UInt32Value` is JSON number. +message UInt32Value { + // The uint32 value. + uint32 value = 1; +} + +// Wrapper message for `bool`. +// +// The JSON representation for `BoolValue` is JSON `true` and `false`. +message BoolValue { + // The bool value. + bool value = 1; +} + +// Wrapper message for `string`. +// +// The JSON representation for `StringValue` is JSON string. +message StringValue { + // The string value. + string value = 1; +} + +// Wrapper message for `bytes`. +// +// The JSON representation for `BytesValue` is JSON string. +message BytesValue { + // The bytes value. + bytes value = 1; +} \ No newline at end of file