github.com/netdata/go.d.plugin@v0.58.1/modules/nginxvts/init.go (about) 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/go.d.plugin/agent/module" 10 "github.com/netdata/go.d.plugin/pkg/web" 11 ) 12 13 func (vts NginxVTS) validateConfig() error { 14 if vts.URL == "" { 15 return errors.New("URL not set") 16 } 17 18 if _, err := web.NewHTTPRequest(vts.Request); err != nil { 19 return err 20 } 21 return nil 22 } 23 24 func (vts NginxVTS) initHTTPClient() (*http.Client, error) { 25 return web.NewHTTPClient(vts.Client) 26 } 27 28 func (vts NginxVTS) initCharts() (*module.Charts, error) { 29 charts := module.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 }