ing
This commit is contained in:
@@ -5,16 +5,14 @@ import (
|
||||
|
||||
"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"
|
||||
oopar "git.loafle.net/overflow/overflow_probes/auth/rpc"
|
||||
oopcc "git.loafle.net/overflow/overflow_probes/central/client"
|
||||
)
|
||||
|
||||
func NewSocketBuilder(config *ooccn.NoAuthProbeConfig, tempProbeKeyChan chan string, registerRequestHeader string) cwfc.SocketBuilder {
|
||||
func NewSocketBuilder(napService *oopar.NoAuthProbeService) cwfc.SocketBuilder {
|
||||
sb := &SocketBuilders{
|
||||
config: config,
|
||||
tempProbeKeyChan: tempProbeKeyChan,
|
||||
registerRequestHeader: registerRequestHeader,
|
||||
napService: napService,
|
||||
}
|
||||
sb.SocketBuilders = oopcc.NewSocketBuilder(oocmn.HTTPEntry_NoAuthProbe)
|
||||
if nil == sb.SocketBuilders {
|
||||
@@ -27,35 +25,27 @@ func NewSocketBuilder(config *ooccn.NoAuthProbeConfig, tempProbeKeyChan chan str
|
||||
type SocketBuilders struct {
|
||||
*oopcc.SocketBuilders
|
||||
|
||||
config *ooccn.NoAuthProbeConfig
|
||||
tempProbeKeyChan chan string
|
||||
registerRequestHeader string
|
||||
napService *oopar.NoAuthProbeService
|
||||
}
|
||||
|
||||
func (sb *SocketBuilders) SocketHandler() cwfc.SocketHandler {
|
||||
return newSocketHandler(sb.config, sb.tempProbeKeyChan)
|
||||
return newSocketHandler(sb.napService)
|
||||
}
|
||||
|
||||
func (sb *SocketBuilders) GetRequestHeader() http.Header {
|
||||
reqHeader := http.Header{}
|
||||
|
||||
switch sb.config.State() {
|
||||
case ooccn.NoAuthProbeStateTypeNotRegisterd:
|
||||
reqHeader[oocmn.HTTPRequestHeaderKey_NoAuthProbe_Method] = []string{oocmn.HTTPRequestHeaderValue_NoAuthProbe_Method_Regist}
|
||||
reqHeader[oocmn.HTTPRequestHeaderKey_NoAuthProbe_Info] = []string{sb.registerRequestHeader}
|
||||
|
||||
case ooccn.NoAuthProbeStateTypeRegisterd:
|
||||
reqHeader[oocmn.HTTPRequestHeaderKey_NoAuthProbe_Method] = []string{oocmn.HTTPRequestHeaderValue_NoAuthProbe_Method_Connect}
|
||||
reqHeader[oocmn.HTTPRequestHeaderKey_NoAuthProbe_TempProbeKey] = []string{oocmn.HTTPRequestHeaderValue_NoAuthProbe_Method_Connect}
|
||||
h := sb.napService.GetRequestHeader()
|
||||
header := http.Header{}
|
||||
for k, v := range h {
|
||||
header[k] = v
|
||||
}
|
||||
|
||||
return reqHeader
|
||||
return header
|
||||
}
|
||||
|
||||
func (sb *SocketBuilders) Validate() {
|
||||
sb.SocketBuilders.Validate()
|
||||
|
||||
if nil == sb.config {
|
||||
logging.Logger().Panic("Auth: NoAuthProbeConfig must be specified")
|
||||
if nil == sb.napService {
|
||||
logging.Logger().Panic("Auth: NoAuthProbeService must be specified")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,22 +8,22 @@ import (
|
||||
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"
|
||||
oopar "git.loafle.net/overflow/overflow_probes/auth/rpc"
|
||||
)
|
||||
|
||||
type SocketHandlers struct {
|
||||
cwfc.SocketHandlers
|
||||
|
||||
config *ooccn.NoAuthProbeConfig
|
||||
tempProbeKeyChan chan string
|
||||
napService *oopar.NoAuthProbeService
|
||||
}
|
||||
|
||||
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() {
|
||||
switch sh.napService.Config.State() {
|
||||
case ooccn.NoAuthProbeStateTypeNotRegisterd:
|
||||
tempProbeKey := res.Header.Get(oocmn.HTTPResponseHeaderKey_NoAuthProbe_SetTempProbeKey)
|
||||
sh.tempProbeKeyChan <- tempProbeKey
|
||||
sh.napService.SetTempProbeKey(tempProbeKey)
|
||||
case ooccn.NoAuthProbeStateTypeRegisterd:
|
||||
}
|
||||
|
||||
@@ -34,9 +34,8 @@ func (sh *SocketHandlers) OnDisconnect(soc cwfc.Socket) {
|
||||
|
||||
}
|
||||
|
||||
func newSocketHandler(config *ooccn.NoAuthProbeConfig, tempProbeKeyChan chan string) cwfc.SocketHandler {
|
||||
func newSocketHandler(napService *oopar.NoAuthProbeService) cwfc.SocketHandler {
|
||||
return &SocketHandlers{
|
||||
config: config,
|
||||
tempProbeKeyChan: tempProbeKeyChan,
|
||||
napService: napService,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user