master
go 32 lines 677 Bytes
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 package nginx
4
5 import (
6 "fmt"
7 "io"
8
9 "github.com/netdata/netdata/go/plugins/pkg/stm"
10 "github.com/netdata/netdata/go/plugins/pkg/web"
11 )
12
13 func (c *Collector) collect() (map[string]int64, error) {
14 req, err := web.NewHTTPRequest(c.RequestConfig)
15 if err != nil {
16 return nil, fmt.Errorf("failed to create HTTP request to '%s': %w'", c.URL, err)
17 }
18
19 var status *stubStatus
20 var perr error
21
22 if err := web.DoHTTP(c.httpClient).Request(req, func(body io.Reader) error {
23 if status, perr = parseStubStatus(body); perr != nil {
24 return perr
25 }
26 return nil
27 }); err != nil {
28 return nil, err
29 }
30
31 return stm.ToMap(status), nil
32 }