From a9e590109cf32ef82920e59f5fa29619667018e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=86=89=E5=A2=A8=E5=B1=85=E5=A3=AB?= <94230530+go75@users.noreply.github.com> Date: Sun, 5 Nov 2023 18:36:01 +0800 Subject: [PATCH] Details optimization (#1293) * Details optimization * Optimize the control structure * Optimize the control structure, Fix setting HTTP request setting URL parameter error --- internal/msggateway/client.go | 13 ++++++++----- internal/msggateway/context.go | 4 +++- internal/rpc/msg/message_interceptor.go | 10 ++++------ pkg/msgprocessor/conversation.go | 5 ++--- 4 files changed, 17 insertions(+), 15 deletions(-) diff --git a/internal/msggateway/client.go b/internal/msggateway/client.go index b1eaaf057..9c165e4dd 100644 --- a/internal/msggateway/client.go +++ b/internal/msggateway/client.go @@ -135,7 +135,7 @@ func (c *Client) readMessage() { return } log.ZDebug(c.ctx, "readMessage", "messageType", messageType) - if c.closed == true { // 连接刚置位已经关闭,但是协程还没退出的场景 + if c.closed { // 连接刚置位已经关闭,但是协程还没退出的场景 c.closedErr = ErrConnClosed return } @@ -282,10 +282,10 @@ func (c *Client) KickOnlineMessage() error { func (c *Client) writeBinaryMsg(resp Resp) error { c.w.Lock() defer c.w.Unlock() - if c.closed == true { + if c.closed { return nil } - encodedBuf := bufferPool.Get().([]byte) + resultBuf := bufferPool.Get().([]byte) encodedBuf, err := c.longConnServer.Encode(resp) if err != nil { @@ -307,9 +307,12 @@ func (c *Client) writeBinaryMsg(resp Resp) error { func (c *Client) writePongMsg() error { c.w.Lock() defer c.w.Unlock() - if c.closed == true { + if c.closed { return nil } - _ = c.conn.SetWriteDeadline(writeWait) + err := c.conn.SetWriteDeadline(writeWait) + if err != nil { + return utils.Wrap(err, "") + } return c.conn.WriteMessage(PongMessage, nil) } diff --git a/internal/msggateway/context.go b/internal/msggateway/context.go index b9ad47864..85fe5c734 100644 --- a/internal/msggateway/context.go +++ b/internal/msggateway/context.go @@ -124,7 +124,9 @@ func (c *UserConnContext) GetOperationID() string { } func (c *UserConnContext) SetOperationID(operationID string) { - c.Req.URL.Query().Set(OperationID, operationID) + values := c.Req.URL.Query() + values.Set(OperationID, operationID) + c.Req.URL.RawQuery = values.Encode() } func (c *UserConnContext) GetToken() string { diff --git a/internal/rpc/msg/message_interceptor.go b/internal/rpc/msg/message_interceptor.go index bcb97d7d2..a98c31219 100644 --- a/internal/rpc/msg/message_interceptor.go +++ b/internal/rpc/msg/message_interceptor.go @@ -30,17 +30,15 @@ type MessageInterceptorFunc func(ctx context.Context, req *msg.SendMsgReq) (*sdk func MessageHasReadEnabled(_ context.Context, req *msg.SendMsgReq) (*sdkws.MsgData, error) { switch { case req.MsgData.ContentType == constant.HasReadReceipt && req.MsgData.SessionType == constant.SingleChatType: - if config.Config.SingleMessageHasReadReceiptEnable { - return req.MsgData, nil - } else { + if !config.Config.SingleMessageHasReadReceiptEnable { return nil, errs.ErrMessageHasReadDisable.Wrap() } + return req.MsgData, nil case req.MsgData.ContentType == constant.HasReadReceipt && req.MsgData.SessionType == constant.SuperGroupChatType: - if config.Config.GroupMessageHasReadReceiptEnable { - return req.MsgData, nil - } else { + if !config.Config.GroupMessageHasReadReceiptEnable { return nil, errs.ErrMessageHasReadDisable.Wrap() } + return req.MsgData, nil } return req.MsgData, nil } diff --git a/pkg/msgprocessor/conversation.go b/pkg/msgprocessor/conversation.go index ca77438ea..b72abb1da 100644 --- a/pkg/msgprocessor/conversation.go +++ b/pkg/msgprocessor/conversation.go @@ -118,10 +118,9 @@ func GetNotificationConversationIDByConversationID(conversationID string) string l := strings.Split(conversationID, "_") if len(l) > 1 { l[0] = "n" - return strings.Join(l, "_") - } else { - return "" + return conversationID } + return "" } func GetNotificationConversationID(sessionType int, ids ...string) string {