punchy.go 597 B

12345678910111213141516171819202122232425262728293031323334
  1. package nebula
  2. import (
  3. "time"
  4. "github.com/slackhq/nebula/config"
  5. )
  6. type Punchy struct {
  7. Punch bool
  8. Respond bool
  9. Delay time.Duration
  10. }
  11. func NewPunchyFromConfig(c *config.C) *Punchy {
  12. p := &Punchy{}
  13. if c.IsSet("punchy.punch") {
  14. p.Punch = c.GetBool("punchy.punch", false)
  15. } else {
  16. // Deprecated fallback
  17. p.Punch = c.GetBool("punchy", false)
  18. }
  19. if c.IsSet("punchy.respond") {
  20. p.Respond = c.GetBool("punchy.respond", false)
  21. } else {
  22. // Deprecated fallback
  23. p.Respond = c.GetBool("punch_back", false)
  24. }
  25. p.Delay = c.GetDuration("punchy.delay", time.Second)
  26. return p
  27. }