diff options
| author | Philipp Tanlak <philipp.tanlak@gmail.com> | 2024-02-17 21:49:05 +0100 |
|---|---|---|
| committer | Philipp Tanlak <philipp.tanlak@gmail.com> | 2024-02-17 21:49:05 +0100 |
| commit | 80e24f0c780725bc854362def00211e88cb673bd (patch) | |
| tree | 357e16dbeb5409c77480000edf4f8bb9cd24518f /modules/domainfilter | |
| parent | c460e48cc920f39722bb9e404a399dbaa8d89c89 (diff) | |
Respect multiple urls in domain- and urlfilter
Diffstat (limited to 'modules/domainfilter')
| -rw-r--r-- | modules/domainfilter/domainfilter.go | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/modules/domainfilter/domainfilter.go b/modules/domainfilter/domainfilter.go index e8691d3..ec95d68 100644 --- a/modules/domainfilter/domainfilter.go +++ b/modules/domainfilter/domainfilter.go @@ -15,6 +15,7 @@ func init() { type Module struct { URL string `json:"url"` + URLs []string `json:"urls"` AllowedDomains []string `json:"allowedDomains"` BlockedDomains []string `json:"blockedDomains"` @@ -29,11 +30,15 @@ func (Module) ModuleInfo() flyscrape.ModuleInfo { } func (m *Module) Provision(v flyscrape.Context) { - if m.URL == "" { - return + if m.URL != "" { + if u, err := url.Parse(m.URL); err == nil { + m.AllowedDomains = append(m.AllowedDomains, u.Host()) + } } - if u, err := url.Parse(m.URL); err == nil { - m.AllowedDomains = append(m.AllowedDomains, u.Host()) + for _, u := range m.URLs { + if u, err := url.Parse(u); err == nil { + m.AllowedDomains = append(m.AllowedDomains, u.Host()) + } } } |