...
1
18
19 package utils
20
21 import (
22 "discovery/log"
23 "net/http"
24 )
25
26 const UserAgentMachine = "Machine"
27
28 type Header struct {
29 Field string
30 Payload string
31 }
32
33 type ErrorHttpCannotCreateRequest struct{}
34
35 func (e ErrorHttpCannotCreateRequest) Error() string {
36 return "cannot create http request."
37 }
38
39 func HttpMachineGet(client *http.Client, host string, headers []Header) (*http.Response, error) {
40 req, err := http.NewRequest("GET", host, nil)
41 if req == nil {
42 return nil, ErrorHttpCannotCreateRequest{}
43 }
44 req.Header.Add("User-Agent", UserAgentMachine)
45 for _, header := range headers {
46 req.Header.Add(header.Field, header.Payload)
47 }
48
49 res, err := client.Do(req)
50 if err != nil {
51 log.Log.Errorf("Error while making request to %s", host)
52 }
53
54 return res, err
55 }
56
View as plain text