package http import "log" type Options struct { Logger func(message string, args ...any) CustomDir string `env:"CUSTOM_DIR"` } type OptionFunc func(*Options) func DefaultOptions() *Options { return &Options{ Logger: log.Printf, CustomDir: "", } } func WithLogger(logger func(message string, args ...any)) func(*Options) { return func(opts *Options) { opts.Logger = logger } } func WithCustomDir(customDir string) func(*Options) { return func(opts *Options) { opts.CustomDir = customDir } }