(urls ...string)
| 17 | } |
| 18 | |
| 19 | func FastFromURLs(urls ...string) (LookupNetIPer, error) { |
| 20 | resolvers := make([]LookupNetIPer, 0, len(urls)) |
| 21 | for i, u := range urls { |
| 22 | res, err := FromURL(u) |
| 23 | if err != nil { |
| 24 | return nil, fmt.Errorf("unable to construct resolver #%d (%q): %w", i, u, err) |
| 25 | } |
| 26 | resolvers = append(resolvers, res) |
| 27 | } |
| 28 | if len(resolvers) == 1 { |
| 29 | return resolvers[0], nil |
| 30 | } |
| 31 | return NewFastResolver(resolvers...), nil |
| 32 | } |
| 33 | |
| 34 | func NewFastResolver(resolvers ...LookupNetIPer) *FastResolver { |
| 35 | return &FastResolver{ |
no test coverage detected