| "github.com/racker/perigee" |
| "github.com/rackspace/gophercloud" |
| // DeleteOptsBuilder allows extensions to add additional parameters to the |
| type DeleteOptsBuilder interface { |
| ToBulkDeleteBody() (string, error) |
| // DeleteOpts is a structure that holds parameters for deleting an object. |
| // ToBulkDeleteBody formats a DeleteOpts into a request body. |
| func (opts DeleteOpts) ToBulkDeleteBody() (string, error) { |
| return url.QueryEscape(strings.Join(opts, "\n")), nil |
| // Delete will delete objects or containers in bulk. |
| func Delete(c *gophercloud.ServiceClient, opts DeleteOptsBuilder) DeleteResult { |
| reqString, err := opts.ToBulkDeleteBody() |
| reqBody := strings.NewReader(reqString) |
| resp, err := perigee.Request("DELETE", deleteURL(c), perigee.Options{ |
| ContentType: "text/plain", |
| MoreHeaders: c.AuthenticatedHeaders(), |
| res.Header = resp.HttpResponse.Header |