master
go 45 lines 912 Bytes
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 package cato_networks
4
5 import (
6 "fmt"
7 "strings"
8
9 "github.com/netdata/netdata/go/plugins/pkg/matcher"
10 "github.com/netdata/netdata/go/plugins/pkg/web"
11 )
12
13 func (c *Collector) initSiteSelector() error {
14 expr := strings.TrimSpace(c.SiteSelector)
15 if expr == "" || expr == "*" {
16 c.siteMatcher = matcher.TRUE()
17 return nil
18 }
19
20 m, err := matcher.NewSimplePatternsMatcher(expr)
21 if err != nil {
22 return fmt.Errorf("init site_selector: %w", err)
23 }
24 c.siteMatcher = m
25 return nil
26 }
27
28 func (c *Collector) initClient() error {
29 if c.client != nil {
30 return nil
31 }
32
33 httpClient, err := web.NewHTTPClient(c.ClientConfig)
34 if err != nil {
35 return fmt.Errorf("init http client: %w", err)
36 }
37 c.httpClient = httpClient
38
39 client, err := c.newClient(c.Config, httpClient)
40 if err != nil {
41 return fmt.Errorf("init Cato client: %w", err)
42 }
43 c.client = client
44 return nil
45 }