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" ) type FileHandler interface { handler.Handler } type fileHandler struct { ctx context.Context logger *zap.Logger co *gws.SocketOptions ho *jsonrpc.Options handler gws.MessageHandler } 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(ctx, h.ho) h.co = &gws.SocketOptions{ Handler: h.handler, } return h } func (h *fileHandler) GetSocketOption() *gws.SocketOptions { return h.co } func (h *fileHandler) onRequest(soc gws.Socket, method string, params []string) (interface{}, error) { log.Printf("path: %s, m: %s, params: %v", soc.Path(), method, params) return nil, nil } func (h *fileHandler) onNotify(soc gws.Socket, method string, params []string) error { return nil }