diff options
author | René 'Necoro' Neumann <necoro@necoro.eu> | 2022-01-09 23:11:23 +0100 |
---|---|---|
committer | René 'Necoro' Neumann <necoro@necoro.eu> | 2022-01-10 00:16:44 +0100 |
commit | c3b84b06ff16aa0ae280538b08ee4912c3d215a8 (patch) | |
tree | c43aea6da3eeb10e696d794f7407cbae91920ed2 /pkg | |
parent | 5b3f0f96b7e345a82f0d963ddef1dd4569465145 (diff) | |
download | feed2imap-go-c3b84b06ff16aa0ae280538b08ee4912c3d215a8.tar.gz feed2imap-go-c3b84b06ff16aa0ae280538b08ee4912c3d215a8.tar.bz2 feed2imap-go-c3b84b06ff16aa0ae280538b08ee4912c3d215a8.zip |
Specify cookies in feed config to use in all HTTP requests.
Diffstat (limited to '')
-rw-r--r-- | pkg/config/config.go | 22 | ||||
-rw-r--r-- | pkg/config/yaml_test.go | 26 |
2 files changed, 38 insertions, 10 deletions
diff --git a/pkg/config/config.go b/pkg/config/config.go index a580337..080699a 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -7,6 +7,7 @@ import ( "runtime" "strings" + "github.com/Necoro/feed2imap-go/internal/http" "github.com/Necoro/feed2imap-go/pkg/log" "github.com/Necoro/feed2imap-go/pkg/util" ) @@ -43,16 +44,17 @@ var DefaultGlobalOptions = GlobalOptions{ // Options are feed specific // NB: Always specify a yaml name, as it is later used in processing type Options struct { - MinFreq int `yaml:"min-frequency"` - InclImages bool `yaml:"include-images"` - EmbedImages bool `yaml:"embed-images"` - Disable bool `yaml:"disable"` - IgnHash bool `yaml:"ignore-hash"` - AlwaysNew bool `yaml:"always-new"` - Reupload bool `yaml:"reupload-if-updated"` - NoTLS bool `yaml:"tls-no-verify"` - ItemFilter string `yaml:"item-filter"` - Body Body `yaml:"body"` + MinFreq int `yaml:"min-frequency"` + InclImages bool `yaml:"include-images"` + EmbedImages bool `yaml:"embed-images"` + Disable bool `yaml:"disable"` + IgnHash bool `yaml:"ignore-hash"` + AlwaysNew bool `yaml:"always-new"` + Reupload bool `yaml:"reupload-if-updated"` + NoTLS bool `yaml:"tls-no-verify"` + ItemFilter string `yaml:"item-filter"` + Body Body `yaml:"body"` + Cookies []http.Cookie `yaml:"cookies"` } var DefaultFeedOptions = Options{ diff --git a/pkg/config/yaml_test.go b/pkg/config/yaml_test.go index b422c38..7196693 100644 --- a/pkg/config/yaml_test.go +++ b/pkg/config/yaml_test.go @@ -7,6 +7,8 @@ import ( "github.com/google/go-cmp/cmp" "gopkg.in/yaml.v3" + + "github.com/Necoro/feed2imap-go/internal/http" ) func t(s string) []string { @@ -286,6 +288,30 @@ func TestUnmarshal(tst *testing.T) { }()}, {name: "Known config with invalid feed-options", inp: "options:\n max-frequency: 6", wantErr: true, config: config{}}, + {name: "Nested config", + inp: ` +options: + cookies: + - name: foo + value: bar +`, wantErr: false, config: func() config { + c := defaultConfig(nil, nil) + c.FeedOptions.Cookies = []http.Cookie{{Name: "foo", Value: "bar"}} + return c + }()}, + {name: "Nested config; multiple", + inp: ` +options: + cookies: + - name: foo + value: bar + - name: baz + value: uff +`, wantErr: false, config: func() config { + c := defaultConfig(nil, nil) + c.FeedOptions.Cookies = []http.Cookie{{"foo", "bar"}, {"baz", "uff"}} + return c + }()}, {name: "Config with feed", inp: ` something: 1 |