package gcl import ( "encoding/json" "fmt" "io" "net/http" ) // Delete func (storage *Storage) Delete(path string) (bool, error) { // Create HTTP Request request, err := http.NewRequest("DELETE", fmt.Sprintf("https://%s/%s/%s", storage.endpoint, storage.zoneName, path), nil) // Handle Error if err != nil { return false, err } // Add Headers request.Header.Add("AccessKey", storage.accessKey) // Do Request response, err := http.DefaultClient.Do(request) // Handle Error if err != nil { return false, err } // Close Response defer response.Body.Close() // Check Response if response.StatusCode/100 != 2 { // Read Body body, err := io.ReadAll(response.Body) // Handle Error if err != nil { return false, err } // Response Data responseData := struct { HttpCode int `json:"HttpCode"` Message string `json:"Message"` }{} // Unmarshal Body err = json.Unmarshal(body, &responseData) // Handle Error if err != nil { return false, err } return false, fmt.Errorf("%d : %s", responseData.HttpCode, responseData.Message) } // Success return true, err }