Skip to content

Commit ecab32a

Browse files
committed
Move log source type parsing into common function
1 parent 29c6830 commit ecab32a

3 files changed

Lines changed: 21 additions & 20 deletions

File tree

src/pkg/egress/syslog/log_source.go

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,25 @@ func ParseSourceType(s string) (LogSourceType, bool) {
4343
return lt, lt.IsValid()
4444
}
4545

46+
// ParseSourceTypeList parses a comma-separated list of source types and returns
47+
// the valid types as a set and any unknown types as a slice.
48+
func ParseSourceTypeList(sourceTypeList string) (LogSourceTypeSet, []string) {
49+
sourceTypes := strings.Split(sourceTypeList, ",")
50+
set := make(LogSourceTypeSet, len(sourceTypes))
51+
var unknownTypes []string
52+
53+
for _, sourceType := range sourceTypes {
54+
t, ok := ParseSourceType(sourceType)
55+
if !ok {
56+
unknownTypes = append(unknownTypes, sourceType)
57+
continue
58+
}
59+
set.Add(t)
60+
}
61+
62+
return set, unknownTypes
63+
}
64+
4665
// ExtractPrefix extracts the prefix from a source_type tag (e.g., "APP/PROC/WEB/0" -> "APP")
4766
func ExtractPrefix(sourceTypeTag string) string {
4867
if idx := strings.IndexByte(sourceTypeTag, '/'); idx != -1 {

src/pkg/ingress/bindings/binding_config.go

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package bindings
22

33
import (
44
"net/url"
5-
"strings"
65

76
"code.cloudfoundry.org/loggregator-agent-release/src/pkg/binding"
87
"code.cloudfoundry.org/loggregator-agent-release/src/pkg/egress/syslog"
@@ -105,14 +104,7 @@ func (d *DrainParamParser) newLogFilter(sourceTypeList string, mode syslog.LogFi
105104
return nil
106105
}
107106

108-
sourceTypes := strings.Split(sourceTypeList, ",")
109-
set := make(syslog.LogSourceTypeSet, len(sourceTypes))
110-
111-
for _, sourceType := range sourceTypes {
112-
t, _ := syslog.ParseSourceType(sourceType)
113-
set.Add(t)
114-
}
115-
107+
set, _ := syslog.ParseSourceTypeList(sourceTypeList)
116108
return syslog.NewLogFilter(set, mode)
117109
}
118110

src/pkg/ingress/bindings/filtered_binding_fetcher.go

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -164,17 +164,7 @@ func getUnknownSourceTypes(u url.Values) []string {
164164
return nil
165165
}
166166

167-
sourceTypes := strings.Split(sourceTypeList, ",")
168-
var unknownTypes []string
169-
170-
for _, sourceType := range sourceTypes {
171-
_, ok := syslog.ParseSourceType(sourceType)
172-
if !ok {
173-
unknownTypes = append(unknownTypes, sourceType)
174-
continue
175-
}
176-
}
177-
167+
_, unknownTypes := syslog.ParseSourceTypeList(sourceTypeList)
178168
return unknownTypes
179169
}
180170

0 commit comments

Comments
 (0)