ws update

This commit is contained in:
Gordon
2023-03-23 15:14:50 +08:00
parent 6382528360
commit e08a127213
5 changed files with 55 additions and 15 deletions
+36 -1
View File
@@ -1,9 +1,11 @@
package msggateway
import (
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/constant"
"github.com/OpenIMSDK/Open-IM-Server/pkg/utils"
"net/http"
"strconv"
"time"
)
type UserConnContext struct {
@@ -12,6 +14,35 @@ type UserConnContext struct {
Path string
Method string
RemoteAddr string
ConnID string
}
func (c *UserConnContext) Deadline() (deadline time.Time, ok bool) {
return
}
func (c *UserConnContext) Done() <-chan struct{} {
return nil
}
func (c *UserConnContext) Err() error {
return nil
}
func (c *UserConnContext) Value(key any) any {
switch key {
case constant.OpUserID:
c.GetUserID()
case constant.OperationID:
c.GetOperationID()
case constant.ConnID:
c.GetConnID()
case constant.OpUserPlatform:
constant.PlatformIDToName(utils.StringToInt(c.GetPlatformID()))
default:
return ""
}
return ""
}
func newContext(respWriter http.ResponseWriter, req *http.Request) *UserConnContext {
@@ -21,6 +52,7 @@ func newContext(respWriter http.ResponseWriter, req *http.Request) *UserConnCont
Path: req.URL.Path,
Method: req.Method,
RemoteAddr: req.RemoteAddr,
ConnID: utils.Md5(req.RemoteAddr + "_" + strconv.Itoa(int(utils.GetCurrentTimestampByMill()))),
}
}
func (c *UserConnContext) Query(key string) (string, bool) {
@@ -44,7 +76,7 @@ func (c *UserConnContext) ErrReturn(error string, code int) {
http.Error(c.RespWriter, error, code)
}
func (c *UserConnContext) GetConnID() string {
return utils.Md5(c.RemoteAddr + "_" + strconv.Itoa(int(utils.GetCurrentTimestampByMill())))
return c.ConnID
}
func (c *UserConnContext) GetUserID() string {
return c.Req.URL.Query().Get(WsUserID)
@@ -52,3 +84,6 @@ func (c *UserConnContext) GetUserID() string {
func (c *UserConnContext) GetPlatformID() string {
return c.Req.URL.Query().Get(PlatformID)
}
func (c *UserConnContext) GetOperationID() string {
return c.Req.URL.Query().Get(OperationID)
}