tryall.go 546 B

1234567891011121314151617181920
  1. package containers
  2. func TryAllParsers(rawConfig []byte, prioritizedParser string) (*Container, error) {
  3. if prioritizedParser != "" {
  4. if parser, found := knownParsers[prioritizedParser]; found {
  5. container, err := parser.ParseSubscriptionContainerDocument(rawConfig)
  6. if err == nil {
  7. return container, nil
  8. }
  9. }
  10. }
  11. for _, parser := range knownParsers {
  12. container, err := parser.ParseSubscriptionContainerDocument(rawConfig)
  13. if err == nil {
  14. return container, nil
  15. }
  16. }
  17. return nil, newError("no parser found for config")
  18. }