Ejemplo n.º 1
0
func (s *Server) Init(conf *goconfig.ConfigFile) error {
	ip, err := conf.GetString("common", "listen")
	if err != nil || ip == "" {
		s.listenIp = DEF_IP
	} else {
		s.listenIp = ip
	}
	port, err := conf.GetString("common", "port")
	if err != nil || ip == "" {
		s.listenPort = DEF_PORT
	} else {
		s.listenPort = port
	}
	rootDir, err := conf.GetString("common", "rootDir")
	if err != nil || rootDir == "" {
		return errors.New("rootDir cannot empty")
	}
	s.rootDir = strings.Split(rootDir, ",")
	maxSize, err := conf.GetString("common", "maxSize")
	if maxSize == "" {
		s.maxSize = MAX_BODY_SIZE
	} else {
		s.maxSize = min(uint32(util.ReverseFormatSize(maxSize)), MAX_BODY_SIZE)
	}
	allowExt, err := conf.GetString("common", "allowExt")
	if err != nil || allowExt == "" {
		return errors.New("allowExt cannot empty")
	}
	s.allowExt = strings.Split(allowExt, ",")

	s.password, _ = conf.GetString("common", "password")
	s.debug, _ = conf.GetBool("log", "debug")

	s.mail = new(mailConf)
	s.mail.host, _ = conf.GetString("mail", "mailHost")
	s.mail.user, _ = conf.GetString("mail", "mailUser")
	s.mail.pass, _ = conf.GetString("mail", "mailPass")
	s.mail.from, _ = conf.GetString("mail", "mailFrom")
	s.mail.to, _ = conf.GetString("mail", "mailTo")
	s.mail.title, _ = conf.GetString("mail", "mailTitle")
	s.mail.serverInfo, _ = conf.GetString("mail", "serverInfo")

	// 初始化CTFile
	s.ctFile = NewCtFile(s)

	return nil
}