forked from mirrors/homebox
refactor server to support variable options
This commit is contained in:
parent
245591cb23
commit
1143246816
6 changed files with 89 additions and 21 deletions
47
backend/pkgs/server/server_options.go
Normal file
47
backend/pkgs/server/server_options.go
Normal file
|
@ -0,0 +1,47 @@
|
|||
package server
|
||||
|
||||
import "time"
|
||||
|
||||
type Option = func(s *Server) error
|
||||
|
||||
func WithWorker(w Worker) Option {
|
||||
return func(s *Server) error {
|
||||
s.Worker = w
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
func WithHost(host string) Option {
|
||||
return func(s *Server) error {
|
||||
s.Host = host
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
func WithPort(port string) Option {
|
||||
return func(s *Server) error {
|
||||
s.Port = port
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
func WithReadTimeout(seconds int) Option {
|
||||
return func(s *Server) error {
|
||||
s.readTimeout = time.Duration(seconds) * time.Second
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
func WithWriteTimeout(seconds int) Option {
|
||||
return func(s *Server) error {
|
||||
s.writeTimeout = time.Duration(seconds) * time.Second
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
func WithIdleTimeout(seconds int) Option {
|
||||
return func(s *Server) error {
|
||||
s.idleTimeout = time.Duration(seconds) * time.Second
|
||||
return nil
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue