package server import "golang.org/x/exp/slog" type Options struct { ListenAddr string ListenPort int Logger *slog.Logger } func DefaultOptions() *Options { return &Options{ ListenAddr: "127.0.0.1", ListenPort: 8080, Logger: slog.Default(), } } func (o *Options) WithListenAddr(addr string) *Options { o.ListenAddr = addr return o } func (o *Options) WithListenPort(port int) *Options { o.ListenPort = port return o } func (o *Options) WithLogger(logger *slog.Logger) *Options { o.Logger = logger return o }