cmd/stevents: Add command line argument for event type filtering. (#7226)

Add a -types flag which can be set to a comma-separated list of event
types.  The contents will be included verbatim in the URL parameter
"events".
This commit is contained in:
André Colomb 2020-12-22 22:10:26 +01:00 committed by GitHub
parent a20a5f61f0
commit 1555a4da7f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -28,16 +28,21 @@ func main() {
log.SetFlags(0) log.SetFlags(0)
target := flag.String("target", "localhost:8384", "Target Syncthing instance") target := flag.String("target", "localhost:8384", "Target Syncthing instance")
types := flag.String("types", "", "Filter for specific event types (comma-separated)")
apikey := flag.String("apikey", "", "Syncthing API key") apikey := flag.String("apikey", "", "Syncthing API key")
flag.Parse() flag.Parse()
if *apikey == "" { if *apikey == "" {
log.Fatal("Must give -apikey argument") log.Fatal("Must give -apikey argument")
} }
var eventsArg string
if len(*types) > 0 {
eventsArg = "&events=" + *types
}
since := 0 since := 0
for { for {
req, err := http.NewRequest("GET", fmt.Sprintf("http://%s/rest/events?since=%d", *target, since), nil) req, err := http.NewRequest("GET", fmt.Sprintf("http://%s/rest/events?since=%d%s", *target, since, eventsArg), nil)
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }