From edaae6e199872cf36ada443c007fa1785ea250e9 Mon Sep 17 00:00:00 2001 From: Yaron Schneider Date: Fri, 14 Aug 2020 09:36:25 -0700 Subject: [PATCH] add pubsub component name to publish command (#435) --- cmd/publish.go | 5 ++++- pkg/publish/publish.go | 7 +++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/cmd/publish.go b/cmd/publish.go index 1b22599f..f687c37e 100644 --- a/cmd/publish.go +++ b/cmd/publish.go @@ -16,12 +16,13 @@ import ( var publishTopic string var publishPayload string +var pubsubName string var PublishCmd = &cobra.Command{ Use: "publish", Short: "Publish an event to multiple consumers", Run: func(cmd *cobra.Command, args []string) { - err := publish.SendPayloadToTopic(publishTopic, publishPayload) + err := publish.SendPayloadToTopic(publishTopic, publishPayload, pubsubName) if err != nil { print.FailureStatusEvent(os.Stdout, fmt.Sprintf("Error publishing topic %s: %s", publishTopic, err)) return @@ -34,7 +35,9 @@ var PublishCmd = &cobra.Command{ func init() { PublishCmd.Flags().StringVarP(&publishTopic, "topic", "t", "", "the topic the app is listening on") PublishCmd.Flags().StringVarP(&publishPayload, "data", "d", "", "(optional) a json serialized string") + PublishCmd.Flags().StringVarP(&pubsubName, "pubsub", "", "", "name of the pub/sub component") PublishCmd.MarkFlagRequired("app-id") PublishCmd.MarkFlagRequired("topic") + PublishCmd.MarkFlagRequired("pubsub") RootCmd.AddCommand(PublishCmd) } diff --git a/pkg/publish/publish.go b/pkg/publish/publish.go index 6682fec8..4a16555b 100644 --- a/pkg/publish/publish.go +++ b/pkg/publish/publish.go @@ -16,10 +16,13 @@ import ( ) // SendPayloadToTopic publishes the topic -func SendPayloadToTopic(topic, payload string) error { +func SendPayloadToTopic(topic, payload, pubsubName string) error { if topic == "" { return errors.New("topic is missing") } + if pubsubName == "" { + return errors.New("pubsubName is missing") + } l, err := standalone.List() if err != nil { @@ -37,7 +40,7 @@ func SendPayloadToTopic(topic, payload string) error { b = []byte(payload) } - url := fmt.Sprintf("http://localhost:%s/v%s/publish/%s", fmt.Sprintf("%v", app.HTTPPort), api.RuntimeAPIVersion, topic) + url := fmt.Sprintf("http://localhost:%s/v%s/publish/%s/%s", fmt.Sprintf("%v", app.HTTPPort), api.RuntimeAPIVersion, pubsubName, topic) // nolint: gosec r, err := http.Post(url, "application/json", bytes.NewBuffer(b))