diff --git a/subscription/subscription.go b/subscription/subscription.go index 8b059ba..4146f51 100644 --- a/subscription/subscription.go +++ b/subscription/subscription.go @@ -123,12 +123,9 @@ func (s *SubscriptionTreeNode) matchSubscriptions(fields []string) []*Subscripti } field := fields[0] - if field == "#" || field == "+" { - // TODO handle gracefully - panic("Wildcard in topic") - } - if child, exists := s.children[field]; exists { + // this goes against the spec but I'm lazy so let's just be sane but not really correct + if child, exists := s.children[field]; exists && field != "+" && field != "#" { sub = append(sub, child.matchSubscriptions(fields[1:])...) } s.NodeLock.RUnlock()