MCPcopy Create free account
hub / github.com/jetkvm/kvm / queryHttpTime

Function queryHttpTime

internal/timesync/http.go:123–151  ·  view source on GitHub ↗
(
	ctx context.Context,
	url string,
	timeout time.Duration,
	proxyFunc func(*http.Request) (*url.URL, error),
)

Source from the content-addressed store, hash-verified

121}
122
123func queryHttpTime(
124 ctx context.Context,
125 url string,
126 timeout time.Duration,
127 proxyFunc func(*http.Request) (*url.URL, error),
128) (now *time.Time, response *http.Response, err error) {
129 transport := http.DefaultTransport.(*http.Transport).Clone()
130 transport.Proxy = proxyFunc
131
132 client := http.Client{
133 Transport: transport,
134 Timeout: timeout,
135 }
136
137 req, err := http.NewRequestWithContext(ctx, "GET", url, nil)
138 if err != nil {
139 return nil, nil, err
140 }
141 resp, err := client.Do(req)
142 if err != nil {
143 return nil, nil, err
144 }
145 dateStr := resp.Header.Get("Date")
146 parsedTime, err := time.Parse(time.RFC1123, dateStr)
147 if err != nil {
148 return nil, nil, err
149 }
150 return &parsedTime, resp, nil
151}

Callers 1

queryMultipleHttpMethod · 0.85

Calls 2

GetMethod · 0.80
DoMethod · 0.65

Tested by

no test coverage detected