code.gitea.io/gitea@v1.19.3/modules/setting/proxy.go (about)

     1  // Copyright 2021 The Gitea Authors. All rights reserved.
     2  // SPDX-License-Identifier: MIT
     3  
     4  package setting
     5  
     6  import (
     7  	"net/url"
     8  
     9  	"code.gitea.io/gitea/modules/log"
    10  )
    11  
    12  // Proxy settings
    13  var Proxy = struct {
    14  	Enabled       bool
    15  	ProxyURL      string
    16  	ProxyURLFixed *url.URL
    17  	ProxyHosts    []string
    18  }{
    19  	Enabled:    false,
    20  	ProxyURL:   "",
    21  	ProxyHosts: []string{},
    22  }
    23  
    24  func loadProxyFrom(rootCfg ConfigProvider) {
    25  	sec := rootCfg.Section("proxy")
    26  	Proxy.Enabled = sec.Key("PROXY_ENABLED").MustBool(false)
    27  	Proxy.ProxyURL = sec.Key("PROXY_URL").MustString("")
    28  	if Proxy.ProxyURL != "" {
    29  		var err error
    30  		Proxy.ProxyURLFixed, err = url.Parse(Proxy.ProxyURL)
    31  		if err != nil {
    32  			log.Error("Global PROXY_URL is not valid")
    33  			Proxy.ProxyURL = ""
    34  		}
    35  	}
    36  	Proxy.ProxyHosts = sec.Key("PROXY_HOSTS").Strings(",")
    37  }