oioss

Форк
0
/
env_loader.go 
52 строки · 1.2 Кб
1
package utils
2

3
import (
4
	"log"
5
	"os"
6

7
	"github.com/joho/godotenv"
8
)
9

10
func LoadEnv() {
11
	err := godotenv.Load(".env")
12
	if err != nil {
13
		log.Println("---failed to load .env config file---")
14
		log.Println("---loaded default settings---")
15
	}
16
	setDefaultEnv()
17
}
18

19
func setDefaultEnv() {
20
	if _, exists := os.LookupEnv("SS_AllowOrigins"); !exists {
21
		os.Setenv("SS_AllowOrigins", "*")
22
	}
23

24
	if _, exists := os.LookupEnv("SS_StaticDir"); !exists {
25
		os.Setenv("SS_StaticDir", "./static")
26
	}
27

28
	if _, exists := os.LookupEnv("SS_TLS"); !exists {
29
		os.Setenv("SS_TLS", "OFF")
30
	} else {
31
		if _, exists := os.LookupEnv("SS_TLS_CERT"); !exists {
32
			if _, exists := os.LookupEnv("SS_DOMAIN"); !exists {
33
				log.Panic("SS_DOMAIN is not set")
34
			}
35
			if _, exists := os.LookupEnv("SS_CrtDir"); !exists {
36
				log.Println("SS_CrtDir is not set. Default dir ./certs")
37
				os.Setenv("SS_CrtDir", "./certs")
38
			}
39
		}
40
	}
41

42
	if _, exists := os.LookupEnv("SS_PORT"); !exists {
43
		os.Setenv("SS_PORT", ":8080")
44
	}
45

46
	log.Printf(`OIO-Static_Server settings:
47
	 	SS_AllowOrigins = %s
48
		SS_StaticDir = %s
49
		SS_PORT = %s
50
		SS_TLS = %s
51
	`, os.Getenv("SS_AllowOrigins"), os.Getenv("SS_StaticDir"), os.Getenv("SS_PORT"), os.Getenv("SS_TLS"))
52
}
53

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.