# HG changeset patch # User Yader Velasquez # Date 1670549361 21600 # Thu Dec 08 19:29:21 2022 -0600 # Node ID e98ecf093ecfe705e51633fc2b401bc47926c3c5 # Parent 483c6d758a0996f4581ae11fadde12935a63f663 Support dynamic url based on Service settings diff --git a/feedback.go b/feedback.go --- a/feedback.go +++ b/feedback.go @@ -20,9 +20,6 @@ var hostPattern = regexp.MustCompile(`^sns\.[a-zA-Z0-9\-]{3,}\.amazonaws\.com(\.cn)?$`) -// FeedbackURL is the url to call the feedback handler -var FeedbackURL string = "/ses-feedback" - // Actions ... type Actions interface { Bounce(data map[string]any) error @@ -42,11 +39,12 @@ eg *echo.Group actions Actions verify bool + url string } // RegisterRoutes ... func (s *Service) RegisterRoutes() { - s.eg.POST(FeedbackURL, s.Feedback).Name = s.RouteName("feedback") + s.eg.POST(s.url, s.Feedback).Name = s.RouteName("endpoint") } // RouteName ... @@ -215,8 +213,17 @@ } // NewService ... -func NewService(eg *echo.Group, ac Actions, verify bool) *Service { - service := &Service{name: "ses-feedback", eg: eg, actions: ac, verify: verify} +func NewService(eg *echo.Group, ac Actions, verify bool, url string) *Service { + if url == "" { + url = "/ses-feedback" + } + service := &Service{ + name: "ses-feedback", + eg: eg, + actions: ac, + verify: verify, + url: url, + } service.RegisterRoutes() return service }