func DeleteBloomByKey()

in datasource/featuredb/fdbserverpb/fdbserver.go [128:171]


func DeleteBloomByKey(project *domain.Project, featureView domain.FeatureView, key string) error {
	fdbClient, err := featuredb.GetFeatureDBClient()
	if err != nil {
		return err
	}

	req, err := http.NewRequest("DELETE", fmt.Sprintf("%s/api/v1/tables/%s/%s/%s/delete_bloom_key?key=%s",
		fdbClient.GetCurrentAddress(false), project.InstanceId, project.ProjectName, featureView.GetName(), key), nil)
	if err != nil {
		return err
	}
	req.Header.Set("Content-Type", "application/json")
	req.Header.Set("Authorization", fdbClient.Token)
	req.Header.Set("Auth", project.Signature)

	response, err := fdbClient.Client.Do(req)
	if err != nil {
		req, err = http.NewRequest("DELETE", fmt.Sprintf("%s/api/v1/tables/%s/%s/%s/delete_bloom_key?key=%s",
			fdbClient.GetCurrentAddress(true), project.InstanceId, project.ProjectName, featureView.GetName(), key), nil)
		if err != nil {
			return err
		}
		req.Header.Set("Content-Type", "application/json")
		req.Header.Set("Authorization", fdbClient.Token)
		req.Header.Set("Auth", project.Signature)
		response, err = fdbClient.Client.Do(req)
		if err != nil {
			return err
		}
	}

	defer response.Body.Close()

	responseData, err := io.ReadAll(response.Body)
	if err != nil {
		return err
	}

	if response.StatusCode != 200 {
		return fmt.Errorf("delete bloom table key error, status code: %d, response body: %s", response.StatusCode, string(responseData))
	}
	return nil

}