mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Refactor config provider (#24245)
This PR introduces more abstract about `ConfigProvider` and hides more `ini` references. --------- Co-authored-by: delvh <dev.lh@web.de>
This commit is contained in:
		@@ -6,15 +6,13 @@ package setting
 | 
			
		||||
import (
 | 
			
		||||
	"path/filepath"
 | 
			
		||||
	"reflect"
 | 
			
		||||
 | 
			
		||||
	ini "gopkg.in/ini.v1"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Storage represents configuration of storages
 | 
			
		||||
type Storage struct {
 | 
			
		||||
	Type        string
 | 
			
		||||
	Path        string
 | 
			
		||||
	Section     *ini.Section
 | 
			
		||||
	Section     ConfigSection
 | 
			
		||||
	ServeDirect bool
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -30,7 +28,7 @@ func (s *Storage) MapTo(v interface{}) error {
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func getStorage(rootCfg ConfigProvider, name, typ string, targetSec *ini.Section) Storage {
 | 
			
		||||
func getStorage(rootCfg ConfigProvider, name, typ string, targetSec ConfigSection) Storage {
 | 
			
		||||
	const sectionName = "storage"
 | 
			
		||||
	sec := rootCfg.Section(sectionName)
 | 
			
		||||
 | 
			
		||||
@@ -52,7 +50,7 @@ func getStorage(rootCfg ConfigProvider, name, typ string, targetSec *ini.Section
 | 
			
		||||
	storage.Section = targetSec
 | 
			
		||||
	storage.Type = typ
 | 
			
		||||
 | 
			
		||||
	overrides := make([]*ini.Section, 0, 3)
 | 
			
		||||
	overrides := make([]ConfigSection, 0, 3)
 | 
			
		||||
	nameSec, err := rootCfg.GetSection(sectionName + "." + name)
 | 
			
		||||
	if err == nil {
 | 
			
		||||
		overrides = append(overrides, nameSec)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user