summaryrefslogtreecommitdiffstats
path: root/modules/storage/helper.go
diff options
context:
space:
mode:
authorJason Song <i@wolfogre.com>2022-11-30 21:39:02 +0800
committerGitHub <noreply@github.com>2022-11-30 21:39:02 +0800
commit67881ae99abc673954d56436730af313c93ee48f (patch)
tree2f6c982e5da3e6c34e19e4045fd72a114edf1400 /modules/storage/helper.go
parent7020c4afb74756f60ae5381a05c6511dbf0d72ba (diff)
downloadgitea-67881ae99abc673954d56436730af313c93ee48f.tar.gz
gitea-67881ae99abc673954d56436730af313c93ee48f.zip
Skip initing disabled storages (#21985)
If `Attachment` or `Packages` are disabled, we don't have to init the storages for them.
Diffstat (limited to 'modules/storage/helper.go')
-rw-r--r--modules/storage/helper.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/modules/storage/helper.go b/modules/storage/helper.go
index 5aaa2a9e64..1ab99d98b3 100644
--- a/modules/storage/helper.go
+++ b/modules/storage/helper.go
@@ -4,6 +4,10 @@
package storage
import (
+ "fmt"
+ "io"
+ "net/url"
+ "os"
"reflect"
"code.gitea.io/gitea/modules/json"
@@ -61,3 +65,31 @@ func toConfig(exemplar, cfg interface{}) (interface{}, error) {
}
return newVal.Elem().Interface(), nil
}
+
+var uninitializedStorage = discardStorage("uninitialized storage")
+
+type discardStorage string
+
+func (s discardStorage) Open(_ string) (Object, error) {
+ return nil, fmt.Errorf("%s", s)
+}
+
+func (s discardStorage) Save(_ string, _ io.Reader, _ int64) (int64, error) {
+ return 0, fmt.Errorf("%s", s)
+}
+
+func (s discardStorage) Stat(_ string) (os.FileInfo, error) {
+ return nil, fmt.Errorf("%s", s)
+}
+
+func (s discardStorage) Delete(_ string) error {
+ return fmt.Errorf("%s", s)
+}
+
+func (s discardStorage) URL(_, _ string) (*url.URL, error) {
+ return nil, fmt.Errorf("%s", s)
+}
+
+func (s discardStorage) IterateObjects(_ func(string, Object) error) error {
+ return fmt.Errorf("%s", s)
+}