43 lines
1.2 KiB
Go
43 lines
1.2 KiB
Go
package client
|
|
|
|
import (
|
|
"fmt"
|
|
"net/http"
|
|
|
|
"git.loafle.net/commons_go/logging"
|
|
cwfc "git.loafle.net/commons_go/websocket_fasthttp/client"
|
|
ooccn "git.loafle.net/overflow/overflow_commons_go/config/noauthprobe"
|
|
oocmn "git.loafle.net/overflow/overflow_commons_go/modules/noauthprobe"
|
|
)
|
|
|
|
type SocketHandlers struct {
|
|
cwfc.SocketHandlers
|
|
|
|
config *ooccn.NoAuthProbeConfig
|
|
tempProbeKeyChan chan string
|
|
}
|
|
|
|
func (sh *SocketHandlers) OnConnect(socketContext cwfc.SocketContext, res *http.Response) {
|
|
logging.Logger().Info(fmt.Sprintf("Auth: client has been connected res[%v]", res))
|
|
|
|
switch sh.config.State() {
|
|
case ooccn.NoAuthProbeStateTypeNotRegisterd:
|
|
tempProbeKey := res.Header.Get(oocmn.HTTPResponseHeaderKey_NoAuthProbe_SetTempProbeKey)
|
|
sh.tempProbeKeyChan <- tempProbeKey
|
|
case ooccn.NoAuthProbeStateTypeRegisterd:
|
|
}
|
|
|
|
}
|
|
|
|
func (sh *SocketHandlers) OnDisconnect(soc cwfc.Socket) {
|
|
logging.Logger().Info(fmt.Sprintf("Auth: client has been disconnected soc[%v]", soc))
|
|
|
|
}
|
|
|
|
func newSocketHandler(config *ooccn.NoAuthProbeConfig, tempProbeKeyChan chan string) cwfc.SocketHandler {
|
|
return &SocketHandlers{
|
|
config: config,
|
|
tempProbeKeyChan: tempProbeKeyChan,
|
|
}
|
|
}
|