in extension/client.go [159:184]
func (e *Client) InitError(ctx context.Context, errorType string) (*StatusResponse, error) {
const action = "/init/error"
url := e.baseURL + action
httpReq, err := http.NewRequestWithContext(ctx, http.MethodPost, url, http.NoBody)
if err != nil {
return nil, fmt.Errorf("failed to create init error request: %w", err)
}
httpReq.Header.Set(extensionIdentiferHeader, e.ExtensionID)
httpReq.Header.Set(extensionErrorType, errorType)
httpReq.Header.Set("User-Agent", version.UserAgent)
httpRes, err := e.httpClient.Do(httpReq)
if err != nil {
return nil, fmt.Errorf("initialization error request failed: %w", err)
}
defer httpRes.Body.Close()
if httpRes.StatusCode > 299 {
return nil, fmt.Errorf("initialization error request failed with status %s", httpRes.Status)
}
res := StatusResponse{}
if err := json.NewDecoder(httpRes.Body).Decode(&res); err != nil {
return nil, fmt.Errorf("failed to decode init error response body: %w", err)
}
return &res, nil
}