Skip to content

Commit fbe09b2

Browse files
fix cache download
1 parent 317ea7f commit fbe09b2

File tree

2 files changed

+12
-18
lines changed

2 files changed

+12
-18
lines changed

routers/api/packages/arch/arch.go

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ func GetPackageOrDB(ctx *context.Context) {
171171
)
172172

173173
if archPkgOrSig.MatchString(file) {
174-
pkg, err := arch_service.GetPackageFile(ctx, group, file, ctx.Package.Owner.ID)
174+
pkg, u, pf, err := arch_service.GetPackageFile(ctx, group, file, ctx.Package.Owner.ID)
175175
if err != nil {
176176
if errors.Is(err, util.ErrNotExist) {
177177
apiError(ctx, http.StatusNotFound, err)
@@ -180,15 +180,12 @@ func GetPackageOrDB(ctx *context.Context) {
180180
}
181181
return
182182
}
183-
184-
ctx.ServeContent(pkg, &context.ServeHeaderOptions{
185-
Filename: file,
186-
})
183+
helper.ServePackageFile(ctx, pkg, u, pf)
187184
return
188185
}
189186

190187
if archDBOrSig.MatchString(file) {
191-
pkg, err := arch_service.GetPackageDBFile(ctx, group, arch, ctx.Package.Owner.ID,
188+
pkg, u, pf, err := arch_service.GetPackageDBFile(ctx, group, arch, ctx.Package.Owner.ID,
192189
strings.HasSuffix(file, ".sig"))
193190
if err != nil {
194191
if errors.Is(err, util.ErrNotExist) {
@@ -198,9 +195,8 @@ func GetPackageOrDB(ctx *context.Context) {
198195
}
199196
return
200197
}
201-
ctx.ServeContent(pkg, &context.ServeHeaderOptions{
202-
Filename: file,
203-
})
198+
199+
helper.ServePackageFile(ctx, pkg, u, pf)
204200
return
205201
}
206202

services/packages/arch/repository.go

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -245,14 +245,13 @@ func createDB(ctx context.Context, ownerID int64, group, arch string) (*packages
245245

246246
// GetPackageFile Get data related to provided filename and distribution, for package files
247247
// update download counter.
248-
func GetPackageFile(ctx context.Context, group, file string, ownerID int64) (io.ReadSeekCloser, error) {
248+
func GetPackageFile(ctx context.Context, group, file string, ownerID int64) (io.ReadSeekCloser, *url.URL, *packages_model.PackageFile, error) {
249249
pf, err := getPackageFile(ctx, group, file, ownerID)
250250
if err != nil {
251-
return nil, err
251+
return nil, nil, nil, err
252252
}
253253

254-
filestream, _, _, err := packages_service.GetPackageFileStream(ctx, pf)
255-
return filestream, err
254+
return packages_service.GetPackageFileStream(ctx, pf)
256255
}
257256

258257
// Ejects parameters required to get package file property from file name.
@@ -275,21 +274,20 @@ func getPackageFile(ctx context.Context, group, file string, ownerID int64) (*pa
275274
return pkgfile, nil
276275
}
277276

278-
func GetPackageDBFile(ctx context.Context, group, arch string, ownerID int64, signFile bool) (io.ReadSeekCloser, error) {
277+
func GetPackageDBFile(ctx context.Context, group, arch string, ownerID int64, signFile bool) (io.ReadSeekCloser, *url.URL, *packages_model.PackageFile, error) {
279278
pv, err := GetOrCreateRepositoryVersion(ctx, ownerID)
280279
if err != nil {
281-
return nil, err
280+
return nil, nil, nil, err
282281
}
283282
fileName := fmt.Sprintf("%s.db", arch)
284283
if signFile {
285284
fileName = fmt.Sprintf("%s.db.sig", arch)
286285
}
287286
file, err := packages_model.GetFileForVersionByName(ctx, pv.ID, fileName, group)
288287
if err != nil {
289-
return nil, err
288+
return nil, nil, nil, err
290289
}
291-
filestream, _, _, err := packages_service.GetPackageFileStream(ctx, file)
292-
return filestream, err
290+
return packages_service.GetPackageFileStream(ctx, file)
293291
}
294292

295293
// GetOrCreateKeyPair gets or creates the PGP keys used to sign repository metadata files

0 commit comments

Comments
 (0)