mirror of
https://github.com/go-gitea/gitea
synced 2025-07-28 05:08:37 +00:00
Redirect to a presigned URL of HEAD for HEAD requests (#35088)
Resolves https://github.com/go-gitea/gitea/issues/35086. --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
@@ -141,37 +141,25 @@ func TestPackageGeneric(t *testing.T) {
|
||||
t.Run("ServeDirect", func(t *testing.T) {
|
||||
defer tests.PrintCurrentTest(t)()
|
||||
|
||||
if setting.Packages.Storage.Type != setting.MinioStorageType && setting.Packages.Storage.Type != setting.AzureBlobStorageType {
|
||||
t.Skip("Test skipped for non-Minio-storage and non-AzureBlob-storage.")
|
||||
return
|
||||
}
|
||||
|
||||
if setting.Packages.Storage.Type == setting.MinioStorageType {
|
||||
if !setting.Packages.Storage.MinioConfig.ServeDirect {
|
||||
old := setting.Packages.Storage.MinioConfig.ServeDirect
|
||||
defer func() {
|
||||
setting.Packages.Storage.MinioConfig.ServeDirect = old
|
||||
}()
|
||||
|
||||
setting.Packages.Storage.MinioConfig.ServeDirect = true
|
||||
}
|
||||
defer test.MockVariableValue(&setting.Packages.Storage.MinioConfig.ServeDirect, true)()
|
||||
} else if setting.Packages.Storage.Type == setting.AzureBlobStorageType {
|
||||
if !setting.Packages.Storage.AzureBlobConfig.ServeDirect {
|
||||
old := setting.Packages.Storage.AzureBlobConfig.ServeDirect
|
||||
defer func() {
|
||||
setting.Packages.Storage.AzureBlobConfig.ServeDirect = old
|
||||
}()
|
||||
|
||||
setting.Packages.Storage.AzureBlobConfig.ServeDirect = true
|
||||
}
|
||||
defer test.MockVariableValue(&setting.Packages.Storage.AzureBlobConfig.ServeDirect, true)()
|
||||
} else {
|
||||
t.Skip("Test skipped for non-Minio-storage and non-AzureBlob-storage.")
|
||||
}
|
||||
|
||||
req := NewRequest(t, "GET", url+"/"+filename)
|
||||
resp := MakeRequest(t, req, http.StatusSeeOther)
|
||||
req = NewRequest(t, "HEAD", url+"/"+filename)
|
||||
resp = MakeRequest(t, req, http.StatusSeeOther)
|
||||
location := resp.Header().Get("Location")
|
||||
assert.NotEmpty(t, location)
|
||||
checkDownloadCount(2)
|
||||
|
||||
req = NewRequest(t, "GET", url+"/"+filename)
|
||||
resp = MakeRequest(t, req, http.StatusSeeOther)
|
||||
checkDownloadCount(3)
|
||||
|
||||
location := resp.Header().Get("Location")
|
||||
location = resp.Header().Get("Location")
|
||||
assert.NotEmpty(t, location)
|
||||
|
||||
resp2, err := (&http.Client{}).Get(location)
|
||||
|
Reference in New Issue
Block a user