1 Commits

Author SHA1 Message Date
d7ffcd19f8 fixup load options using
Some checks failed
build / test (push) Has been cancelled
build / lint (push) Has been cancelled
codeql / analyze (go) (push) Has been cancelled
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2024-04-17 16:55:13 +03:00

13
file.go
View File

@@ -76,11 +76,20 @@ func (c *fileConfig) Load(ctx context.Context, opts ...config.LoadOption) error
}
path := c.path
transformer := c.transformer
reader := c.reader
options := config.NewLoadOptions(opts...)
if options.Context != nil {
if v, ok := options.Context.Value(pathKey{}).(string); ok && v != "" {
path = v
}
if v, ok := c.opts.Context.Value(transformerKey{}).(transform.Transformer); ok {
transformer = v
}
if v, ok := c.opts.Context.Value(readerKey{}).(io.Reader); ok {
reader = v
}
}
var fp io.Reader
@@ -89,7 +98,7 @@ func (c *fileConfig) Load(ctx context.Context, opts ...config.LoadOption) error
if c.path != "" {
fp, err = os.OpenFile(path, os.O_RDONLY, os.FileMode(0o400))
} else if c.reader != nil {
fp = c.reader
fp = reader
} else {
err = fmt.Errorf("Path or Reader must be specified")
}
@@ -114,7 +123,7 @@ func (c *fileConfig) Load(ctx context.Context, opts ...config.LoadOption) error
}
var r io.Reader
if c.transformer != nil {
if transformer != nil {
r = transform.NewReader(fp, c.transformer)
} else {
r = fp