Init() now takes a TypeRegistry as 2nd arg, if NIL, use default settings (./types/*.so)"
This commit is contained in:
parent
812831a665
commit
a777de0096
|
@ -1,2 +1,3 @@
|
||||||
*.so
|
*.so
|
||||||
/types
|
/types
|
||||||
|
/test
|
22
loader.go
22
loader.go
|
@ -1,9 +1,18 @@
|
||||||
package gfw
|
package gfw
|
||||||
|
|
||||||
import "git.xdrm.io/gfw/internal/config"
|
import (
|
||||||
|
"git.xdrm.io/gfw/checker"
|
||||||
|
"git.xdrm.io/gfw/internal/config"
|
||||||
|
)
|
||||||
|
|
||||||
// Init initilises a new framework instance
|
// Init initilises a new framework instance
|
||||||
func Init(path string) (*Server, error) {
|
//
|
||||||
|
// - path is the configuration path
|
||||||
|
//
|
||||||
|
// - if typeChecker is nil, defaults will be used (all *.so files
|
||||||
|
// inside ./types local directory)
|
||||||
|
//
|
||||||
|
func Init(path string, typeChecker *checker.TypeRegistry) (*Server, error) {
|
||||||
|
|
||||||
/* (1) Init instance */
|
/* (1) Init instance */
|
||||||
inst := &Server{
|
inst := &Server{
|
||||||
|
@ -19,5 +28,14 @@ func Init(path string) (*Server, error) {
|
||||||
}
|
}
|
||||||
inst.config = config
|
inst.config = config
|
||||||
|
|
||||||
|
/* (3) Store registry if not nil */
|
||||||
|
if typeChecker != nil {
|
||||||
|
inst.Checker = typeChecker
|
||||||
|
return inst, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
/* (4) Default registry creation */
|
||||||
|
inst.Checker = checker.CreateRegistry(true)
|
||||||
|
|
||||||
return inst, nil
|
return inst, nil
|
||||||
}
|
}
|
||||||
|
|
8
types.go
8
types.go
|
@ -1,13 +1,15 @@
|
||||||
package gfw
|
package gfw
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"git.xdrm.io/gfw/checker"
|
||||||
"git.xdrm.io/gfw/internal/config"
|
"git.xdrm.io/gfw/internal/config"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Server struct {
|
type Server struct {
|
||||||
config *config.Controller
|
config *config.Controller
|
||||||
Params map[string]interface{}
|
Params map[string]interface{}
|
||||||
err Err
|
Checker *checker.TypeRegistry // type check
|
||||||
|
err Err
|
||||||
}
|
}
|
||||||
|
|
||||||
type Request struct {
|
type Request struct {
|
||||||
|
|
Loading…
Reference in New Issue