server: work in progress: routing config

This commit is contained in:
Helmut Merz 2023-08-09 12:02:08 +02:00
parent e2afdeb61a
commit ca08bbb9c7
3 changed files with 35 additions and 21 deletions

32
server/config.go Normal file
View file

@ -0,0 +1,32 @@
package server
import (
lib "git.sr.ht/~cco/go-scopes"
"git.sr.ht/~cco/go-scopes/config"
"github.com/gin-gonic/gin"
)
type Cfg struct {
*config.BaseCfg
Port string
Addr string
routes []routeCfg
}
type routeCfg struct {
methods []string
path string
spec routeSpec
}
type routeSpec interface{}
type fsSpec struct {
docRoot string
}
type rcellSpec struct {
lib.Config
}
type Handler func(lib.Context, *gin.Context)

View file

@ -4,30 +4,10 @@ import (
"net/http"
lib "git.sr.ht/~cco/go-scopes"
"git.sr.ht/~cco/go-scopes/config"
"git.sr.ht/~cco/go-scopes/core"
"github.com/gin-gonic/gin"
)
type Cfg struct {
*config.BaseCfg
Port string
Routes []RouteCfg
}
type RouteCfg struct {
Method string
Path string
Handler Handler
}
type FSCfg struct {
RouteCfg
DocRoot string
}
type Handler func(lib.Context, *gin.Context)
type ServerState struct {
server *http.Server
}
@ -45,7 +25,6 @@ func HandleDone(ctx lib.Context) bool {
}
func Serve(ctx lib.Context) {
//r := gin.Default()
r := gin.New()
r.Use(gin.Recovery())
r.Use(Logger(ctx))

View file

@ -31,6 +31,9 @@ func Config() lib.Config {
BaseCfg: b("server", server.Start),
Port: ovr("8123", SERVER_PORT),
}
// server_c.AddRoute("/docs", FileServer("html"))
// server_rc := server_c.AddRoute("/api", RCellHandler())
// server_rc.AddAction("demo", action.Base(action.Forward, "test-receiver"))
test_client := &client.Cfg{
BaseCfg: b("test-client", core.Start),