From 79ce91fddee549514c98f002b719fc8cda0e380f Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Wed, 29 Jan 2020 15:47:46 +0800 Subject: Movde dependents on macaron from modules/setting (#10050) Co-authored-by: Lauris BH --- modules/setting/cache.go | 3 --- modules/setting/cors.go | 33 +++++++++++++++------------------ modules/setting/session.go | 39 +++++++++++++++++++++++++++++---------- 3 files changed, 44 insertions(+), 31 deletions(-) (limited to 'modules/setting') diff --git a/modules/setting/cache.go b/modules/setting/cache.go index 7be24b865f..babb62baea 100644 --- a/modules/setting/cache.go +++ b/modules/setting/cache.go @@ -9,9 +9,6 @@ import ( "time" "code.gitea.io/gitea/modules/log" - - _ "gitea.com/macaron/cache/memcache" // memcache plugin for cache - _ "gitea.com/macaron/cache/redis" ) // Cache represents cache settings diff --git a/modules/setting/cors.go b/modules/setting/cors.go index 04f3120536..d7856e8b23 100644 --- a/modules/setting/cors.go +++ b/modules/setting/cors.go @@ -8,34 +8,31 @@ import ( "time" "code.gitea.io/gitea/modules/log" - - "gitea.com/macaron/cors" ) var ( // CORSConfig defines CORS settings - CORSConfig cors.Options - // EnableCORS defines whether CORS settings is enabled or not - EnableCORS bool + CORSConfig = struct { + Enabled bool + Scheme string + AllowDomain []string + AllowSubdomain bool + Methods []string + MaxAge time.Duration + AllowCredentials bool + }{ + Enabled: false, + MaxAge: 10 * time.Minute, + } ) func newCORSService() { sec := Cfg.Section("cors") - // Check cors setting. - EnableCORS = sec.Key("ENABLED").MustBool(false) - - maxAge := sec.Key("MAX_AGE").MustDuration(10 * time.Minute) - - CORSConfig = cors.Options{ - Scheme: sec.Key("SCHEME").String(), - AllowDomain: sec.Key("ALLOW_DOMAIN").Strings(","), - AllowSubdomain: sec.Key("ALLOW_SUBDOMAIN").MustBool(), - Methods: sec.Key("METHODS").Strings(","), - MaxAgeSeconds: int(maxAge.Seconds()), - AllowCredentials: sec.Key("ALLOW_CREDENTIALS").MustBool(), + if err := sec.MapTo(&CORSConfig); err != nil { + log.Fatal("Failed to map cors settings: %v", err) } - if EnableCORS { + if CORSConfig.Enabled { log.Info("CORS Service Enabled") } } diff --git a/modules/setting/session.go b/modules/setting/session.go index 6e5a28bb75..bd51c420a0 100644 --- a/modules/setting/session.go +++ b/modules/setting/session.go @@ -11,28 +11,47 @@ import ( "strings" "code.gitea.io/gitea/modules/log" - - "gitea.com/macaron/session" ) var ( // SessionConfig difines Session settings - SessionConfig session.Options + SessionConfig = struct { + Provider string + // Provider configuration, it's corresponding to provider. + ProviderConfig string + // Cookie name to save session ID. Default is "MacaronSession". + CookieName string + // Cookie path to store. Default is "/". + CookiePath string + // GC interval time in seconds. Default is 3600. + Gclifetime int64 + // Max life time in seconds. Default is whatever GC interval time is. + Maxlifetime int64 + // Use HTTPS only. Default is false. + Secure bool + // Cookie domain name. Default is empty. + Domain string + }{ + CookieName: "i_like_gitea", + Gclifetime: 86400, + Maxlifetime: 86400, + } ) func newSessionService() { - SessionConfig.Provider = Cfg.Section("session").Key("PROVIDER").In("memory", + sec := Cfg.Section("session") + SessionConfig.Provider = sec.Key("PROVIDER").In("memory", []string{"memory", "file", "redis", "mysql", "postgres", "couchbase", "memcache", "nodb"}) - SessionConfig.ProviderConfig = strings.Trim(Cfg.Section("session").Key("PROVIDER_CONFIG").MustString(path.Join(AppDataPath, "sessions")), "\" ") + SessionConfig.ProviderConfig = strings.Trim(sec.Key("PROVIDER_CONFIG").MustString(path.Join(AppDataPath, "sessions")), "\" ") if SessionConfig.Provider == "file" && !filepath.IsAbs(SessionConfig.ProviderConfig) { SessionConfig.ProviderConfig = path.Join(AppWorkPath, SessionConfig.ProviderConfig) } - SessionConfig.CookieName = Cfg.Section("session").Key("COOKIE_NAME").MustString("i_like_gitea") + SessionConfig.CookieName = sec.Key("COOKIE_NAME").MustString("i_like_gitea") SessionConfig.CookiePath = AppSubURL - SessionConfig.Secure = Cfg.Section("session").Key("COOKIE_SECURE").MustBool(false) - SessionConfig.Gclifetime = Cfg.Section("session").Key("GC_INTERVAL_TIME").MustInt64(86400) - SessionConfig.Maxlifetime = Cfg.Section("session").Key("SESSION_LIFE_TIME").MustInt64(86400) - SessionConfig.Domain = Cfg.Section("session").Key("DOMAIN").String() + SessionConfig.Secure = sec.Key("COOKIE_SECURE").MustBool(false) + SessionConfig.Gclifetime = sec.Key("GC_INTERVAL_TIME").MustInt64(86400) + SessionConfig.Maxlifetime = sec.Key("SESSION_LIFE_TIME").MustInt64(86400) + SessionConfig.Domain = sec.Key("DOMAIN").String() shadowConfig, err := json.Marshal(SessionConfig) if err != nil { -- cgit v1.2.3