MCPcopy Index your code
hub / github.com/PatchMon/PatchMon / GetUpdateInterval

Method GetUpdateInterval

agent-source-code/internal/client/client.go:142–170  ·  view source on GitHub ↗

GetUpdateInterval gets the current update interval from server

(ctx context.Context)

Source from the content-addressed store, hash-verified

140
141// GetUpdateInterval gets the current update interval from server
142func (c *Client) GetUpdateInterval(ctx context.Context) (*models.UpdateIntervalResponse, error) {
143 url := fmt.Sprintf("%s/api/%s/settings/update-interval", c.config.PatchmonServer, c.config.APIVersion)
144
145 c.logger.Debug("Getting update interval from server")
146
147 resp, err := c.client.R().
148 SetContext(ctx).
149 SetHeader("Content-Type", "application/json").
150 SetHeader("X-API-ID", c.credentials.APIID).
151 SetHeader("X-API-KEY", c.credentials.APIKey).
152 SetResult(&models.UpdateIntervalResponse{}).
153 Get(url)
154
155 if err != nil {
156 return nil, fmt.Errorf("update interval request failed: %w", err)
157 }
158
159 if resp.StatusCode() != 200 {
160 c.logger.WithField("response", resp.String()).Debug("Full error response from update interval request")
161 return nil, fmt.Errorf("update interval request failed with status %d: %s", resp.StatusCode(), truncateResponse(resp.String(), 200))
162 }
163
164 result, ok := resp.Result().(*models.UpdateIntervalResponse)
165 if !ok {
166 return nil, fmt.Errorf("invalid response format")
167 }
168
169 return result, nil
170}
171
172// SendDockerData sends Docker integration data to the server
173func (c *Client) SendDockerData(ctx context.Context, payload *models.DockerPayload) (*models.DockerResponse, error) {

Callers 1

runServiceLoopFunction · 0.80

Calls 2

truncateResponseFunction · 0.85
GetMethod · 0.45

Tested by

no test coverage detected