mirror of
https://github.com/aptly-dev/aptly.git
synced 2026-04-20 19:38:39 +00:00
S3 backend: include path prefix in removal requests.
DELETE requests, both for temporary files and no longer referenced packages, lacked the configured path prefix and therefor were not removed if a prefix is configured.
This commit is contained in:
@@ -183,12 +183,12 @@ func (storage *PublishedStorage) putFile(path string, source io.ReadSeeker) erro
|
||||
func (storage *PublishedStorage) Remove(path string) error {
|
||||
params := &s3.DeleteObjectInput{
|
||||
Bucket: aws.String(storage.bucket),
|
||||
Key: aws.String(path),
|
||||
Key: aws.String(filepath.Join(storage.prefix,path)),
|
||||
}
|
||||
_, err := storage.s3.DeleteObject(params)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, fmt.Sprintf("error deleting %s from %s", path, storage))
|
||||
}
|
||||
}
|
||||
|
||||
if storage.plusWorkaround && strings.Contains(path, "+") {
|
||||
// try to remove workaround version, but don't care about result
|
||||
|
||||
@@ -160,6 +160,13 @@ func (s *PublishedStorageSuite) TestRemove(c *C) {
|
||||
c.Check(err, IsNil)
|
||||
|
||||
s.AssertNoFile(c, "a/b")
|
||||
|
||||
s.PutFile(c, "lala/xyz", []byte("test"))
|
||||
|
||||
errp := s.prefixedStorage.Remove("xyz")
|
||||
c.Check(errp, IsNil)
|
||||
|
||||
s.AssertNoFile(c, "lala/xyz")
|
||||
}
|
||||
|
||||
func (s *PublishedStorageSuite) TestRemovePlusWorkaround(c *C) {
|
||||
|
||||
Reference in New Issue
Block a user