server message handling: simplify, with hard-coded Forward action
This commit is contained in:
parent
399b3576b0
commit
d1732dd851
3 changed files with 9 additions and 9 deletions
|
@ -3,7 +3,7 @@ package server
|
||||||
import (
|
import (
|
||||||
lib "git.sr.ht/~cco/go-scopes"
|
lib "git.sr.ht/~cco/go-scopes"
|
||||||
"git.sr.ht/~cco/go-scopes/config"
|
"git.sr.ht/~cco/go-scopes/config"
|
||||||
"git.sr.ht/~cco/go-scopes/core"
|
"git.sr.ht/~cco/go-scopes/core/action"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Cfg struct {
|
type Cfg struct {
|
||||||
|
@ -41,6 +41,8 @@ func FileServer(docRoot string) *fsSpec {
|
||||||
return &fsSpec{docRoot}
|
return &fsSpec{docRoot}
|
||||||
}
|
}
|
||||||
|
|
||||||
func MsgHandler() lib.Config {
|
func MsgHandler(pattern string, rcvs ...string) lib.Config {
|
||||||
return config.Base("", core.Start)
|
cfg := config.Base("", nil)
|
||||||
|
cfg.AddAction(pattern, action.Base(action.Forward, rcvs...))
|
||||||
|
return cfg
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,10 +61,10 @@ func setRoute(ctx lib.Context, rcfg routeCfg, r *gin.Engine) {
|
||||||
|
|
||||||
func handle(ctx lib.Context, cfg lib.Config, gc *gin.Context) {
|
func handle(ctx lib.Context, cfg lib.Config, gc *gin.Context) {
|
||||||
head := strings.Split(gc.Param("msg"), "/")[1:]
|
head := strings.Split(gc.Param("msg"), "/")[1:]
|
||||||
msg := message.New(head...)
|
|
||||||
//fmt.Printf("*** RCell called: msg: %+v, method: %s\n", msg, gc.Request.Method)
|
|
||||||
cctx := ctx.ChildContext(cfg)
|
cctx := ctx.ChildContext(cfg)
|
||||||
|
msg := message.New(head...).WithSender(cctx)
|
||||||
|
//fmt.Printf("*** RCell called: msg: %+v, method: %s\n", msg, gc.Request.Method)
|
||||||
core.HandleMessage(cctx, msg)
|
core.HandleMessage(cctx, msg)
|
||||||
// cfg.Starter()(cctx)
|
// if cfg.sync: wait for response message
|
||||||
gc.String(http.StatusOK, "Hello World")
|
gc.String(http.StatusOK, "Hello World")
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,9 +32,7 @@ func Config() lib.Config {
|
||||||
Port: ovr("8123", SERVER_PORT),
|
Port: ovr("8123", SERVER_PORT),
|
||||||
}
|
}
|
||||||
server_c.AddRoute("/docs", server.FileServer("html"))
|
server_c.AddRoute("/docs", server.FileServer("html"))
|
||||||
server_mh := server.MsgHandler()
|
server_c.AddRoute("/api", server.MsgHandler("demo", "test-receiver"))
|
||||||
server_mh.AddAction("demo", action.Base(action.Forward, "test-receiver"))
|
|
||||||
server_c.AddRoute("/api", server_mh)
|
|
||||||
|
|
||||||
test_client := &client.Cfg{
|
test_client := &client.Cfg{
|
||||||
BaseCfg: b("test-client", core.Start),
|
BaseCfg: b("test-client", core.Start),
|
||||||
|
|
Loading…
Add table
Reference in a new issue