func EnableStreamFeatures(s stream.ServerStream, name string) { for _, fname := range s.DependencyGraph().Get(name) { fe := FeatureFactory.Get(fname) conf, err := fe.GetConfig(s.Config()[fname]) if err != nil { log.Printf("goxmpp: unable to handle config for feature %s: %s", fname, err) continue } feature := fe.Constructor(conf) s.AddNamed( func() xtream.Element { return feature.InitHandler() }, fe.Parent, fe.Name, ) s.AddFeature(feature) } }