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  }