Include session id in request payload of WebSocketMessageHasBeenPosted plugin hook (#25928)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
ff741a76e6
Коммит
d1e37783cc
@@ -444,6 +444,10 @@ func (wc *WebConn) readPump() {
|
||||
continue
|
||||
}
|
||||
|
||||
if session := wc.GetSession(); session != nil {
|
||||
clonedReq.Session.Id = session.Id
|
||||
}
|
||||
|
||||
wc.pluginPosted <- pluginWSPostedHook{wc.GetConnectionID(), wc.UserId, clonedReq}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
||||
// See LICENSE.txt for license information.
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/mattermost/mattermost/server/public/model"
|
||||
"github.com/mattermost/mattermost/server/public/plugin"
|
||||
)
|
||||
|
||||
type Plugin struct {
|
||||
plugin.MattermostPlugin
|
||||
sessionCh chan string
|
||||
}
|
||||
|
||||
func (p *Plugin) MessageWillBePosted(_ *plugin.Context, _ *model.Post) (*model.Post, string) {
|
||||
return nil, <-p.sessionCh
|
||||
}
|
||||
|
||||
func (p *Plugin) WebSocketMessageHasBeenPosted(connID, userID string, req *model.WebSocketRequest) {
|
||||
p.sessionCh <- req.Session.Id
|
||||
}
|
||||
|
||||
func main() {
|
||||
plugin.ClientMain(&Plugin{
|
||||
sessionCh: make(chan string, 1),
|
||||
})
|
||||
}
|
||||
Ссылка в новой задаче
Block a user