Changeset 691 in code for trunk/server.go
- Timestamp:
- Nov 15, 2021, 11:38:04 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/server.go
r689 r691 54 54 } 55 55 56 type Serverstruct {56 type Config struct { 57 57 Hostname string 58 58 Title string 59 Logger Logger60 59 LogPath string 61 60 Debug bool … … 63 62 AcceptProxyIPs config.IPSet 64 63 MaxUserNetworks int 65 Identd *Identd // can be nil 66 64 MOTD string 65 } 66 67 type Server struct { 68 Logger Logger 69 Identd *Identd // can be nil 70 71 config atomic.Value // *Config 67 72 db Database 68 73 stopWG sync.WaitGroup … … 72 77 listeners map[net.Listener]struct{} 73 78 users map[string]*user 74 75 motd atomic.Value // string76 79 } 77 80 78 81 func NewServer(db Database) *Server { 79 82 srv := &Server{ 80 Logger: log.New(log.Writer(), "", log.LstdFlags), 81 MaxUserNetworks: -1, 82 db: db, 83 listeners: make(map[net.Listener]struct{}), 84 users: make(map[string]*user), 85 } 86 srv.motd.Store("") 83 Logger: log.New(log.Writer(), "", log.LstdFlags), 84 db: db, 85 listeners: make(map[net.Listener]struct{}), 86 users: make(map[string]*user), 87 } 88 srv.config.Store(&Config{Hostname: "localhost", MaxUserNetworks: -1}) 87 89 return srv 88 90 } 89 91 90 92 func (s *Server) prefix() *irc.Prefix { 91 return &irc.Prefix{Name: s.Hostname} 93 return &irc.Prefix{Name: s.Config().Hostname} 94 } 95 96 func (s *Server) Config() *Config { 97 return s.config.Load().(*Config) 98 } 99 100 func (s *Server) SetConfig(cfg *Config) { 101 s.config.Store(cfg) 92 102 } 93 103 … … 240 250 conn, err := websocket.Accept(w, req, &websocket.AcceptOptions{ 241 251 Subprotocols: []string{"text.ircv3.net"}, // non-compliant, fight me 242 OriginPatterns: s. HTTPOrigins,252 OriginPatterns: s.Config().HTTPOrigins, 243 253 }) 244 254 if err != nil { … … 250 260 if host, _, err := net.SplitHostPort(req.RemoteAddr); err == nil { 251 261 if ip := net.ParseIP(host); ip != nil { 252 isProxy = s. AcceptProxyIPs.Contains(ip)262 isProxy = s.Config().AcceptProxyIPs.Contains(ip) 253 263 } 254 264 } … … 294 304 return &stats 295 305 } 296 297 func (s *Server) SetMOTD(motd string) {298 s.motd.Store(motd)299 }300 301 func (s *Server) MOTD() string {302 return s.motd.Load().(string)303 }
Note:
See TracChangeset
for help on using the changeset viewer.