options.go 659 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package api
  2. type Options struct {
  3. // URL前缀
  4. urlPrefix string
  5. // 端口
  6. port string
  7. // 日志跳过的打印路径
  8. skipPaths []string
  9. }
  10. func (options Options) GetPort() string {
  11. return options.port
  12. }
  13. func (options Options) GetUrlPrefix() string {
  14. return options.urlPrefix
  15. }
  16. type Option func(options *Options)
  17. func WithUrlPrefix(urlPrefix string) Option {
  18. return func(options *Options) {
  19. options.urlPrefix = urlPrefix
  20. }
  21. }
  22. func WithPort(port string) Option {
  23. return func(options *Options) {
  24. options.port = port
  25. }
  26. }
  27. func WithSkipPaths(skipPaths ...string) Option {
  28. return func(options *Options) {
  29. options.skipPaths = skipPaths
  30. }
  31. }