master
go 47 lines 967 Bytes
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 package nginxvts
4
5 import (
6 "errors"
7 "net/http"
8
9 "github.com/netdata/netdata/go/plugins/pkg/web"
10 "github.com/netdata/netdata/go/plugins/plugin/framework/collectorapi"
11 )
12
13 func (c *Collector) validateConfig() error {
14 if c.URL == "" {
15 return errors.New("URL not set")
16 }
17
18 if _, err := web.NewHTTPRequest(c.RequestConfig); err != nil {
19 return err
20 }
21 return nil
22 }
23
24 func (c *Collector) initHTTPClient() (*http.Client, error) {
25 return web.NewHTTPClient(c.ClientConfig)
26 }
27
28 func (c *Collector) initCharts() (*collectorapi.Charts, error) {
29 charts := collectorapi.Charts{}
30
31 if err := charts.Add(*mainCharts.Copy()...); err != nil {
32 return nil, err
33 }
34
35 if err := charts.Add(*sharedZonesCharts.Copy()...); err != nil {
36 return nil, err
37 }
38
39 if err := charts.Add(*serverZonesCharts.Copy()...); err != nil {
40 return nil, err
41 }
42
43 if len(charts) == 0 {
44 return nil, errors.New("zero charts")
45 }
46 return &charts, nil
47 }