host.go 631 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package hosts
  2. import (
  3. "github.com/zricethezav/gitleaks-ng/manager"
  4. "strings"
  5. )
  6. const (
  7. _github int = iota + 1
  8. _gitlab
  9. )
  10. type Host interface {
  11. Audit()
  12. AuditPR()
  13. }
  14. func Run(m *manager.Manager) error {
  15. var host Host
  16. switch getHost(m.Opts.Host) {
  17. case _github:
  18. host = NewGithubClient(*m)
  19. case _gitlab:
  20. host = NewGitlabClient(*m)
  21. default:
  22. return nil
  23. }
  24. if m.Opts.PullRequest != "" {
  25. host.AuditPR()
  26. } else {
  27. host.Audit()
  28. }
  29. return nil
  30. }
  31. func getHost(host string) int {
  32. if strings.ToLower(host) == "github" {
  33. return _github
  34. } else if strings.ToLower(host) == "gitlab" {
  35. return _gitlab
  36. }
  37. return -1
  38. }