aboutsummaryrefslogtreecommitdiff
path: root/pkg/config/yaml.go
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.eu>2020-05-01 17:17:22 +0200
committerRené 'Necoro' Neumann <necoro@necoro.eu>2020-05-01 17:28:09 +0200
commit23c2296ae94bedd616bffdf6f87f689bdc90b108 (patch)
treea983ff7d627d5c46e6ed78fc90133ae36c5c662f /pkg/config/yaml.go
parentf944124325dd785085fec59210306111b3eab3b7 (diff)
downloadfeed2imap-go-23c2296ae94bedd616bffdf6f87f689bdc90b108.tar.gz
feed2imap-go-23c2296ae94bedd616bffdf6f87f689bdc90b108.tar.bz2
feed2imap-go-23c2296ae94bedd616bffdf6f87f689bdc90b108.zip
YAML Parsing: Enable 'KnownFields'
Diffstat (limited to 'pkg/config/yaml.go')
-rw-r--r--pkg/config/yaml.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/pkg/config/yaml.go b/pkg/config/yaml.go
index 9711130..f6b9edd 100644
--- a/pkg/config/yaml.go
+++ b/pkg/config/yaml.go
@@ -1,6 +1,7 @@
package config
import (
+ "errors"
"fmt"
"io"
"reflect"
@@ -67,6 +68,7 @@ func unmarshal(in io.Reader, cfg *Config) (config, error) {
parsedCfg := config{Config: cfg}
d := yaml.NewDecoder(in)
+ d.KnownFields(true)
if err := d.Decode(&parsedCfg); err != nil && err != io.EOF {
return config{}, err
}
@@ -81,6 +83,13 @@ func (cfg *Config) parse(in io.Reader) error {
)
if parsedCfg, err = unmarshal(in, cfg); err != nil {
+ var typeError *yaml.TypeError
+ if errors.As(err, &typeError) {
+ const sep = "\n\t"
+ errMsgs := strings.Join(typeError.Errors, sep)
+ return fmt.Errorf("config is invalid: %s%s", sep, errMsgs)
+ }
+
return fmt.Errorf("while unmarshalling: %w", err)
}
ions'>+777 2008-03-25Changed from svn to bzr in TRANSLATINGRené 'Necoro' Neumann1-1/+1 2008-03-24Removed the nasty 'expand' bugRené 'Necoro' Neumann1-98/+98 2008-03-24Removed button labels in the package notebookRené 'Necoro' Neumann1-102/+96 2008-03-19install dbus_init pluginRené 'Necoro' Neumann1-1/+1 2008-03-19Init dbus threads using a pluginRené 'Necoro' Neumann3-1/+20 2008-03-19Make logger thread-safeRené 'Necoro' Neumann1-3/+6 2008-03-18Fixed new_use_flag creation errorRené 'Necoro' Neumann1-3/+3 2008-03-18keep i18n up2dateRené 'Necoro' Neumann3-326/+366 2008-03-18corrected header commentRené 'Necoro' Neumann1-2/+2 2008-03-18Removed gtk subdirRené 'Necoro' Neumann21-134/+79 2008-03-18Removed wrapperRené 'Necoro' Neumann2-238/+184 2008-03-18Split and renamed gui_helperRené 'Necoro' Neumann4-249/+266 2008-03-18Splitted windows.pyRené 'Necoro' Neumann10-424/+549 2008-03-12Moved get_dependencies to top package classRené 'Necoro' Neumann4-50/+85 2008-03-11improved performance by caching the use_expand queriesRené 'Necoro' Neumann1-5/+14 2008-03-11use catapult varsRené 'Necoro' Neumann2-4/+6 2008-03-11Updated catapult stuffRené 'Necoro' Neumann5-56/+108 2008-03-10Generate correct KeyNotFoundExceptionRené 'Necoro' Neumann1-2/+2 2008-03-09Small changesRené 'Necoro' Neumann3-1/+4 2008-03-07Better session handlingRené 'Necoro' Neumann1-5/+54 2008-03-07Small changesRené 'Necoro' Neumann1-1/+4 2008-03-07Updated shm module to 1.2René 'Necoro' Neumann1-8/+21 2008-03-07Update TODORené 'Necoro' Neumann1-3/+1 2008-03-07hmm ... yesRené 'Necoro' Neumann1-1/+1 2008-03-06Used better exceptions for configuration parserRené 'Necoro' Neumann1-26/+114 2008-03-06Update translationRené 'Necoro' Neumann2-349/+393 2008-03-06Update createpot.shRené 'Necoro' Neumann1-3/+2 2008-03-06Use 'nofork' instead of 'nolistener'René 'Necoro' Neumann1-3/+3 2008-03-05Install glade files into template dir and not data dirRené 'Necoro' Neumann2-2/+1 2008-03-05Added dependency listRené 'Necoro' Neumann3-117/+237