update for micro changes
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
This commit is contained in:
parent
80bec09a07
commit
44024bcd6a
24
file.go
24
file.go
@ -49,28 +49,28 @@ func (c *fileConfig) Init(opts ...config.Option) error {
|
|||||||
|
|
||||||
func (c *fileConfig) Load(ctx context.Context) error {
|
func (c *fileConfig) Load(ctx context.Context) error {
|
||||||
for _, fn := range c.opts.BeforeLoad {
|
for _, fn := range c.opts.BeforeLoad {
|
||||||
if err := fn(ctx, c); err != nil {
|
if err := fn(ctx, c); err != nil && !c.opts.AllowFail {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fp, err := os.OpenFile(c.path, os.O_RDONLY, os.FileMode(0400))
|
fp, err := os.OpenFile(c.path, os.O_RDONLY, os.FileMode(0400))
|
||||||
if err != nil {
|
if err != nil && !c.opts.AllowFail {
|
||||||
return ErrPathNotExist
|
return ErrPathNotExist
|
||||||
}
|
} else if err == nil {
|
||||||
defer fp.Close()
|
defer fp.Close()
|
||||||
|
var buf []byte
|
||||||
buf, err := ioutil.ReadAll(io.LimitReader(fp, int64(codec.DefaultMaxMsgSize)))
|
buf, err = ioutil.ReadAll(io.LimitReader(fp, int64(codec.DefaultMaxMsgSize)))
|
||||||
if err != nil {
|
if err == nil {
|
||||||
|
err = c.opts.Codec.Unmarshal(buf, c.opts.Struct)
|
||||||
|
}
|
||||||
|
if err != nil && !c.opts.AllowFail {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if err = c.opts.Codec.Unmarshal(buf, c.opts.Struct); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, fn := range c.opts.AfterLoad {
|
for _, fn := range c.opts.AfterLoad {
|
||||||
if err := fn(ctx, c); err != nil {
|
if err := fn(ctx, c); err != nil && !c.opts.AllowFail {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -80,13 +80,13 @@ func (c *fileConfig) Load(ctx context.Context) error {
|
|||||||
|
|
||||||
func (c *fileConfig) Save(ctx context.Context) error {
|
func (c *fileConfig) Save(ctx context.Context) error {
|
||||||
for _, fn := range c.opts.BeforeSave {
|
for _, fn := range c.opts.BeforeSave {
|
||||||
if err := fn(ctx, c); err != nil {
|
if err := fn(ctx, c); err != nil && !c.opts.AllowFail {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, fn := range c.opts.AfterSave {
|
for _, fn := range c.opts.AfterSave {
|
||||||
if err := fn(ctx, c); err != nil {
|
if err := fn(ctx, c); err != nil && !c.opts.AllowFail {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
2
go.mod
2
go.mod
@ -2,4 +2,4 @@ module github.com/unistack-org/micro-config-file
|
|||||||
|
|
||||||
go 1.15
|
go 1.15
|
||||||
|
|
||||||
require github.com/unistack-org/micro/v3 v3.0.2-0.20201213102644-92aec349c3d4
|
require github.com/unistack-org/micro/v3 v3.0.2-0.20201219202205-150e8ad698bb
|
||||||
|
2
go.sum
2
go.sum
@ -241,6 +241,8 @@ github.com/transip/gotransip v0.0.0-20190812104329-6d8d9179b66f/go.mod h1:i0f4R4
|
|||||||
github.com/uber-go/atomic v1.3.2/go.mod h1:/Ct5t2lcmbJ4OSe/waGBoaVvVqtO0bmtfVNex1PFV8g=
|
github.com/uber-go/atomic v1.3.2/go.mod h1:/Ct5t2lcmbJ4OSe/waGBoaVvVqtO0bmtfVNex1PFV8g=
|
||||||
github.com/unistack-org/micro/v3 v3.0.2-0.20201213102644-92aec349c3d4 h1:SmwEx/EYb7iUOdDZHiamtwRFfnhiZjtzmVdLZq+KQM0=
|
github.com/unistack-org/micro/v3 v3.0.2-0.20201213102644-92aec349c3d4 h1:SmwEx/EYb7iUOdDZHiamtwRFfnhiZjtzmVdLZq+KQM0=
|
||||||
github.com/unistack-org/micro/v3 v3.0.2-0.20201213102644-92aec349c3d4/go.mod h1:0DgOy4OdJxQCDER8YSKitZugd2+1bddrRSNfeooTHDc=
|
github.com/unistack-org/micro/v3 v3.0.2-0.20201213102644-92aec349c3d4/go.mod h1:0DgOy4OdJxQCDER8YSKitZugd2+1bddrRSNfeooTHDc=
|
||||||
|
github.com/unistack-org/micro/v3 v3.0.2-0.20201219202205-150e8ad698bb h1:cJGF8j30idReDyjRCvEJN5waWCh/AKuiKEqLA8OLMlY=
|
||||||
|
github.com/unistack-org/micro/v3 v3.0.2-0.20201219202205-150e8ad698bb/go.mod h1:0DgOy4OdJxQCDER8YSKitZugd2+1bddrRSNfeooTHDc=
|
||||||
github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
|
github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
|
||||||
github.com/vultr/govultr v0.1.4/go.mod h1:9H008Uxr/C4vFNGLqKx232C206GL0PBHzOP0809bGNA=
|
github.com/vultr/govultr v0.1.4/go.mod h1:9H008Uxr/C4vFNGLqKx232C206GL0PBHzOP0809bGNA=
|
||||||
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=
|
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=
|
||||||
|
Loading…
Reference in New Issue
Block a user