in backends/backends.go [136:154]
func (b *Backend) Delete(path string) error {
r, err := http.NewRequest(http.MethodDelete, path, strings.NewReader(""))
if err != nil {
return fmt.Errorf("failure creating the backend delete request: %w", err)
}
b.generateXSRFToken(r)
rr := httptest.NewRecorder()
b.handler.ServeHTTP(rr, r)
resp := rr.Result()
if resp.StatusCode == http.StatusNoContent || resp.StatusCode == http.StatusOK {
return nil
}
respBytes, err := ioutil.ReadAll(resp.Body)
resp.Body.Close()
if err != nil {
return fmt.Errorf("failure reading the body for a backend delete response with status %v: %w", resp.StatusCode, err)
}
return fmt.Errorf("%w: %s", util.HTTPError(resp.StatusCode), string(respBytes))
}