ing
This commit is contained in:
@@ -1,8 +1,12 @@
|
||||
package file
|
||||
|
||||
import (
|
||||
"context"
|
||||
"log"
|
||||
|
||||
"go.uber.org/zap"
|
||||
|
||||
"git.loafle.net/commons_go/logging"
|
||||
"git.loafle.net/overflow/overflow_gateway_web/handler"
|
||||
gws "git.loafle.net/overflow/overflow_gateway_websocket"
|
||||
"git.loafle.net/overflow/overflow_gateway_websocket/protocol/jsonrpc"
|
||||
@@ -13,20 +17,25 @@ type FileHandler interface {
|
||||
}
|
||||
|
||||
type fileHandler struct {
|
||||
ctx context.Context
|
||||
logger *zap.Logger
|
||||
co *gws.SocketOptions
|
||||
ho *jsonrpc.Options
|
||||
handler gws.MessageHandler
|
||||
}
|
||||
|
||||
func New() FileHandler {
|
||||
h := &fileHandler{}
|
||||
func New(ctx context.Context) FileHandler {
|
||||
h := &fileHandler{
|
||||
ctx: ctx,
|
||||
logger: logging.WithContext(ctx),
|
||||
}
|
||||
|
||||
h.ho = &jsonrpc.Options{
|
||||
OnRequest: h.onRequest,
|
||||
OnNotify: h.onNotify,
|
||||
}
|
||||
|
||||
h.handler = jsonrpc.NewHandler(h.ho)
|
||||
h.handler = jsonrpc.NewHandler(ctx, h.ho)
|
||||
|
||||
h.co = &gws.SocketOptions{
|
||||
Handler: h.handler,
|
||||
|
||||
@@ -2,11 +2,13 @@ package web
|
||||
|
||||
import (
|
||||
"context"
|
||||
"log"
|
||||
"strings"
|
||||
|
||||
"go.uber.org/zap"
|
||||
|
||||
"google.golang.org/grpc/metadata"
|
||||
|
||||
"git.loafle.net/commons_go/logging"
|
||||
backGRpc "git.loafle.net/overflow/overflow_api_server/golang"
|
||||
"git.loafle.net/overflow/overflow_gateway_web/handler"
|
||||
gws "git.loafle.net/overflow/overflow_gateway_websocket"
|
||||
@@ -19,15 +21,19 @@ type WebHandler interface {
|
||||
}
|
||||
|
||||
type webHandler struct {
|
||||
ctx context.Context
|
||||
logger *zap.Logger
|
||||
so *gws.SocketOptions
|
||||
ro *jsonrpc.Options
|
||||
handler gws.MessageHandler
|
||||
pool grpcPool.Pool
|
||||
}
|
||||
|
||||
func New(pool grpcPool.Pool) WebHandler {
|
||||
func New(ctx context.Context, pool grpcPool.Pool) WebHandler {
|
||||
h := &webHandler{
|
||||
pool: pool,
|
||||
ctx: ctx,
|
||||
logger: logging.WithContext(ctx),
|
||||
pool: pool,
|
||||
}
|
||||
|
||||
h.ro = &jsonrpc.Options{
|
||||
@@ -35,7 +41,7 @@ func New(pool grpcPool.Pool) WebHandler {
|
||||
OnNotify: h.onNotify,
|
||||
}
|
||||
|
||||
h.handler = jsonrpc.NewHandler(h.ro)
|
||||
h.handler = jsonrpc.NewHandler(ctx, h.ro)
|
||||
|
||||
h.so = &gws.SocketOptions{
|
||||
Handler: h.handler,
|
||||
@@ -49,11 +55,15 @@ func (h *webHandler) GetSocketOption() *gws.SocketOptions {
|
||||
}
|
||||
|
||||
func (h *webHandler) onRequest(soc gws.Socket, method string, params []string) (interface{}, error) {
|
||||
log.Printf("path: %s, m: %s, params: %v", soc.Path(), method, params)
|
||||
h.logger.Info("OnRequest",
|
||||
zap.String("path", soc.Path()),
|
||||
zap.String("method", method),
|
||||
zap.Any("params", params),
|
||||
)
|
||||
|
||||
c, err := h.pool.Get()
|
||||
if err != nil {
|
||||
log.Println("cannot retrive GRPC Client")
|
||||
h.logger.Error("cannot retrive GRPC Client")
|
||||
return nil, err
|
||||
}
|
||||
defer h.pool.Put(c)
|
||||
@@ -78,6 +88,10 @@ func (h *webHandler) onRequest(soc gws.Socket, method string, params []string) (
|
||||
}
|
||||
|
||||
func (h *webHandler) onNotify(soc gws.Socket, method string, params []string) error {
|
||||
log.Printf("path: %s, m: %s, params: %v", soc.Path(), method, params)
|
||||
h.logger.Info("OnRequest",
|
||||
zap.String("path", soc.Path()),
|
||||
zap.String("method", method),
|
||||
zap.Any("params", params),
|
||||
)
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user