This commit is contained in:
crusader
2017-08-30 15:50:56 +09:00
parent 192344a034
commit 5daa3f6f4e
7 changed files with 73 additions and 164 deletions

View File

@@ -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,

View File

@@ -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
}