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 }